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

◆ LoopedChamberingCombineChamberInternalMagazine()

void WeaponStateBase::LoopedChamberingCombineChamberInternalMagazine ( Weapon_Base w = NULL,
WeaponStateBase parent = NULL,
WeaponActions action = WeaponActions.NONE,
int startActionType = -1,
int endActionType = -1 )
inlineprivate

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

552 {
553 m_action = action;
554 m_startActionType = startActionType;
555 m_endActionType = endActionType;
556
557 // setup nested state machine
558 m_start = new WeaponChambering_Start(m_weapon, this, m_action, m_startActionType);
559 m_chamber = new WeaponChambering_Cartridge(m_weapon, this);
560 m_mag = new WeaponChambering_InternalMagazine_OnExit(m_weapon, this);
561 m_w4sb2 = new LoopedChambering_Wait4ShowBullet2(m_weapon, this);
562 m_hideB = new BulletHide_W4T(m_weapon, this);
563 m_chamberFromInnerMag = new WeaponChamberFromInnerMag_W4T(m_weapon, this);
564 m_endLoop = new LoopedChambering_EndLoop(m_weapon, this, m_action, m_endActionType); // @NOTE: termination playing action - dummy?
565 // events
566 WeaponEventBase _fin_ = new WeaponEventHumanCommandActionFinished;
567 WeaponEventContinuousLoadBulletStart __lS_ = new WeaponEventContinuousLoadBulletStart;
568 WeaponEventContinuousLoadBulletEnd __lE_ = new WeaponEventContinuousLoadBulletEnd;
569 WeaponEventAnimCocked __wc_ = new WeaponEventAnimCocked;
570 WeaponEventAnimBulletShow __bs_ = new WeaponEventAnimBulletShow;
571 WeaponEventAnimBulletHide __bh_ = new WeaponEventAnimBulletHide;
572 WeaponEventAnimBulletEject __be_ = new WeaponEventAnimBulletEject;
573 WeaponEventAnimBulletInMagazine __bM_ = new WeaponEventAnimBulletInMagazine;
574 WeaponEventAnimBulletInChamber __bc_ = new WeaponEventAnimBulletInChamber;
575 WeaponEventAnimBulletShow2 _bs2_ = new WeaponEventAnimBulletShow2;
576
577 m_fsm = new WeaponFSM(this); // @NOTE: set owner of the submachine fsm
578 m_fsm.AddTransition(new WeaponTransition(m_start , __bs_, m_chamber));
579
580
581 m_fsm.AddTransition(new WeaponTransition(m_mag, __bM_, m_w4sb2, NULL, new GuardAnd(new GuardAnd(new WeaponGuardHasAmmoInLoopedState(m_mag), new WeaponGuardInternalMagazineHasRoomForBullet(m_weapon)),new WeaponGuardWeaponManagerWantContinue())));
582 m_fsm.AddTransition(new WeaponTransition(m_chamber, __bc_, m_w4sb2, NULL, new GuardAnd(new GuardAnd(new WeaponGuardHasAmmoInLoopedState(m_chamber), new WeaponGuardInternalMagazineHasRoomForBullet(m_weapon)),new WeaponGuardWeaponManagerWantContinue())));
583 m_fsm.AddTransition(new WeaponTransition(m_mag, __bM_, m_endLoop));
584 m_fsm.AddTransition(new WeaponTransition(m_chamber, __bc_, m_endLoop));
585
586 m_fsm.AddTransition(new WeaponTransition(m_w4sb2, __bh_, m_hideB));
587 m_fsm.AddTransition(new WeaponTransition(m_hideB, __bs_, m_mag));
588
589
590 m_fsm.AddTransition(new WeaponTransition(m_endLoop, _fin_, NULL));
591
592 //m_fsm.AddTransition(new WeaponTransition(m_chamberFromInnerMag, _fin_, NULL));
593
594 // Safety exits
595 m_fsm.AddTransition(new WeaponTransition(m_hideB, _fin_, null));
596 m_fsm.AddTransition(new WeaponTransition(m_w4sb2, _fin_, null));
597 m_fsm.AddTransition(new WeaponTransition(m_chamber, _fin_, null));
598 m_fsm.AddTransition(new WeaponTransition(m_start , _fin_, null));
599
600 m_fsm.SetInitialState(m_start);
601 }
enum FSMTransition WeaponTransition
enum FSMTransition WeaponEventBase
ref BulletHide_W4T m_hideB
Определения RifleEjectCasing.c:8
ref WeaponChambering_Base m_mag
Определения WeaponChamberingLooped.c:284
ref WeaponChamberFromInnerMag_W4T m_chamberFromInnerMag
Определения WeaponChamberingLooped.c:283
int m_startActionType
Определения WeaponChambering.c:1101
ref WeaponStartAction m_endLoop
Определения WeaponChambering.c:1111
ref WeaponFSM m_fsm
hierarchical parent state of this state (or null)
Определения WeaponStateBase.c:14
ref LoopedChambering_Wait4ShowBullet2 m_w4sb2
Определения WeaponChambering.c:1110
WeaponActions m_action
Определения RifleChambering.c:3
Weapon_Base m_weapon
Определения WeaponStateBase.c:12
ref WeaponChambering_Cartridge m_chamber
Определения RifleChambering.c:9
ref WeaponStateBase m_start
source of the cartridge
Определения RifleChambering.c:7
int m_endActionType
Определения WeaponChambering.c:1102

Перекрестные ссылки m_action, m_chamber, m_chamberFromInnerMag, m_endActionType, m_endLoop, m_fsm, m_hideB, m_mag, m_start, m_startActionType, m_w4sb2, m_weapon и WeaponStateBase().