96 m_fsm.AddTransition(
new WeaponTransition( Mech_F, _abt_,
F, NULL,
new WeaponGuardCurrentChamberFiredOut(
this)));
102 m_fsm.AddTransition(
new WeaponTransition( Mech_L, _abt_,
E, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
108 m_fsm.AddTransition(
new WeaponTransition( Chamber_F, _abt_,
F, NULL,
new WeaponGuardCurrentChamberFiredOut(
this)));
109 m_fsm.AddTransition(
new WeaponTransition( Chamber_F, _abt_,
E, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
130 bool discharged =
false;
141 SetInitialState(init_state);
143 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 )
override void InitStateMachine()
static bool IsWeaponLogEnable()
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