DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ WeaponChambering()

void WeaponStateBase::WeaponChambering ( Weapon_Base w = NULL,
WeaponStateBase parent = NULL,
WeaponActions action = WeaponActions.NONE,
int actionType = -1 )
inlineprivate

См. определение в файле WeaponChambering.c строка 386

387 {
388 m_action = action;
389 m_actionType = actionType;
390
391 // setup nested state machine
392 m_start = new WeaponChambering_Start(m_weapon, this, m_action, m_actionType);
393 m_chamber = new WeaponChambering_Cartridge(m_weapon, this);
394 m_w4t = new WeaponChambering_W4T(m_weapon, this);
396 m_onCK = new WeaponCharging_CK(m_weapon, this);
397 // events
398 WeaponEventBase _fin_ = new WeaponEventHumanCommandActionFinished;
399 WeaponEventAnimBulletInChamber __bc_ = new WeaponEventAnimBulletInChamber;
400 WeaponEventAnimBulletShow __bs_ = new WeaponEventAnimBulletShow;
401 WeaponEventAnimBulletEject __be_ = new WeaponEventAnimBulletEject;
402 WeaponEventAnimCocked __ck_ = new WeaponEventAnimCocked;
403
404 m_fsm = new WeaponFSM(this); // @NOTE: set owner of the submachine fsm
405 m_fsm.AddTransition(new WeaponTransition(m_start , __be_, m_eject));
406 m_fsm.AddTransition(new WeaponTransition(m_start , __ck_, m_onCK));
407 m_fsm.AddTransition(new WeaponTransition(m_start , __bs_, m_chamber));
408 m_fsm.AddTransition(new WeaponTransition(m_onCK , __be_, m_eject));
409 m_fsm.AddTransition(new WeaponTransition(m_onCK , __bs_, m_chamber));
410 m_fsm.AddTransition(new WeaponTransition(m_eject , __bs_, m_chamber));
411 m_fsm.AddTransition(new WeaponTransition(m_chamber, __bc_, m_w4t));
412 m_fsm.AddTransition(new WeaponTransition(m_w4t , _fin_, null));
413
414 // Safety exits
415 m_fsm.AddTransition(new WeaponTransition(m_chamber, _fin_, null));
416 m_fsm.AddTransition(new WeaponTransition(m_eject , _fin_, null));
417 m_fsm.AddTransition(new WeaponTransition(m_start , _fin_, null));
418
419 m_fsm.SetInitialState(m_start);
420 }
enum FSMTransition WeaponTransition
enum FSMTransition WeaponEventBase
int m_actionType
action to be played
Определения RifleChambering.c:4
ref WeaponChambering_W4T m_w4t
Определения RifleChambering.c:10
ref WeaponFSM m_fsm
hierarchical parent state of this state (or null)
Определения WeaponStateBase.c:14
WeaponActions m_action
Определения RifleChambering.c:3
Weapon_Base m_weapon
Определения WeaponStateBase.c:12
ref WeaponChambering_Cartridge m_chamber
Определения RifleChambering.c:9
ref WeaponCharging_CK m_onCK
Определения WeaponAttachMagazine.c:122
ref WeaponStateBase m_start
source of the cartridge
Определения RifleChambering.c:7
ref WeaponEjectCasing m_eject
Определения RifleChambering.c:8
void WeaponEjectCasing(Weapon_Base w=NULL, WeaponStateBase parent=NULL)

Перекрестные ссылки m_action, m_actionType, m_chamber, m_eject, m_fsm, m_onCK, m_start, m_w4t, m_weapon, WeaponEjectCasing() и WeaponStateBase().

Используется в WeaponRechamber().