647 {
651
652
660
662
664 WeaponEventContinuousLoadBulletStart __lS_ = new WeaponEventContinuousLoadBulletStart;
665 WeaponEventContinuousLoadBulletEnd __lE_ = new WeaponEventContinuousLoadBulletEnd;
666 WeaponEventAnimBulletShow __bs_ = new WeaponEventAnimBulletShow;
667 WeaponEventAnimBulletShow2 _bs2_ = new WeaponEventAnimBulletShow2;
668 WeaponEventAnimBulletHide __bh_ = new WeaponEventAnimBulletHide;
669 WeaponEventAnimBulletEject __be_ = new WeaponEventAnimBulletEject;
670 WeaponEventAnimBulletInChamber __bc_ = new WeaponEventAnimBulletInChamber;
671
674
677
678 m_fsm.AddTransition(
new WeaponTransition(
m_chamber, __bc_,
m_w4sb2, NULL,
new GuardAnd(
new GuardAnd(
new WeaponGuardHasAmmoInLoopedState(
m_chamber),
new WeaponGuardChamberMultiHasRoomBulltet(
m_weapon)),
new WeaponGuardWeaponManagerWantContinue())));
681
685
686
689
690 m_fsm.SetInitialState(
m_start);
691 }
class WeaponGuardIsDestroyed extends WeaponGuardBase m_weapon
enum FSMTransition WeaponTransition
ref LoopedChambering_Wait4ShowBullet2 m_w4sb2
ref BulletShow2_W4T m_showB2
ref WeaponEndAction m_endLoop
ref WeaponStateBase m_start
class WeaponEndAction extends WeaponStartAction m_action
ref WeaponChambering_Base m_chamber
ref WeaponChambering_Base m_chamber_end
ref WeaponEjectCasingMultiMuzzle m_eject
ref BulletShow_W4T m_showB
signalize mechanism manipulation
weapon finite state machine