95 m_fsm.AddTransition(
new WeaponTransition( Mech_F, _fin_,
F, NULL,
new WeaponGuardCurrentChamberFiredOut(
this)));
97 m_fsm.AddTransition(
new WeaponTransition( Mech_F, _abt_,
F, NULL,
new WeaponGuardCurrentChamberFiredOut(
this)));
102 m_fsm.AddTransition(
new WeaponTransition( Mech_L, _fin_,
E, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
104 m_fsm.AddTransition(
new WeaponTransition( Mech_L, _abt_,
E, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
109 m_fsm.AddTransition(
new WeaponTransition( Chamber_F, _fin_,
F, NULL,
new WeaponGuardCurrentChamberFiredOut(
this)));
110 m_fsm.AddTransition(
new WeaponTransition( Chamber_F, _fin_,
E, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
112 m_fsm.AddTransition(
new WeaponTransition( Chamber_F, _abt_,
F, NULL,
new WeaponGuardCurrentChamberFiredOut(
this)));
113 m_fsm.AddTransition(
new WeaponTransition( Chamber_F, _abt_,
E, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
134 bool discharged =
false;
145 SetInitialState(init_state);
147 SelectionBulletHide();
@ UNKNOWN
24 - Any other error. Can be returned from any call.
@ UNCOCKED
default weapon state, closed and discharged
class WeaponGuardIsDestroyed extends WeaponGuardBase m_weapon
class SSPFireout extends WeaponStableState OnEntry
enum FSMTransition WeaponTransition
enum FSMTransition WeaponEventBase
ref array< MuzzleState > m_muzzleHasBullet
pair ( action, actionType )
static bool IsWeaponLogEnable()
override void InitStateMachine()
charging of weapon without ammo to be chambered
signalize mechanism manipulation
weapon finite state machine
override bool IsBoltOpen()
override void OnExit(WeaponEventBase e)
override void InitMuzzleArray()
override void OnEntry(WeaponEventBase e)
override bool HasBullet()
override int GetCurrentStateID()
override bool IsRepairEnabled()
override bool HasMagazine()
represents weapon's stable state (i.e. the basic states that the weapon will spend the most time in)
represent weapon state base
WeaponActionChamberingTypes