93 D1 =
new BARIMLoadedDischarged(
this, NULL,
BARIMAnimState.DEFAULT);
130 m_fsm.AddTransition(
new WeaponTransition( Mech_C1, _fin_, C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
132 m_fsm.AddTransition(
new WeaponTransition( Mech_C1, _abt_, C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
136 m_fsm.AddTransition(
new WeaponTransition( Mech_D1, _fin_, C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
137 m_fsm.AddTransition(
new WeaponTransition( Mech_D1, _fin_, D1, NULL,
new WeaponGuardCurrentChamberFiredOut(
this)));
139 m_fsm.AddTransition(
new WeaponTransition( Mech_D1, _abt_, C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
140 m_fsm.AddTransition(
new WeaponTransition( Mech_D1, _abt_, D1, NULL,
new WeaponGuardCurrentChamberFiredOut(
this)));
148 m_fsm.AddTransition(
new WeaponTransition( Chamber_C0, _abt_, C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
151 m_fsm.AddTransition(
new WeaponTransition( C1, __L__, Chamber_C1, NULL,
new GuardNot(
new WeaponGuardInnerMagazineFullShareChamber(
this))));
157 m_fsm.AddTransition(
new WeaponTransition( Chamber_D1, _abt_, D1, NULL,
new WeaponGuardCurrentChamberFiredOut(
this)));
163 m_fsm.AddTransition(
new WeaponTransition( Unjam_JF, _fin_, JF, NULL,
new WeaponGuardJammed(
this)));
164 m_fsm.AddTransition(
new WeaponTransition( Unjam_JF, _fin_, C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
166 m_fsm.AddTransition(
new WeaponTransition( Unjam_JF, _abt_, JF, NULL,
new WeaponGuardJammed(
this)));
167 m_fsm.AddTransition(
new WeaponTransition( Unjam_JF, _abt_, C0, NULL,
new WeaponGuardCurrentChamberEmpty(
this)));
202 m_fsm.SetInitialState(C0);
204 SelectionBulletHide();
void AddAction(typename actionName)
void RemoveAction(typename actionName)
@ DEFAULT
default weapon state, closed and discharged
FirearmActionLoadBullet FirearmActionBase FirearmActionLoadBulletQuick()
class WeaponGuardIsDestroyed extends WeaponGuardBase m_weapon
class SSPFireout extends WeaponStableState OnEntry
enum FSMTransition WeaponTransition
ref array< MuzzleState > m_muzzleHasBullet
pair ( action, actionType )
override void InitStateMachine()
override void SetActions()
static bool IsWeaponLogEnable()
signalize mechanism manipulation
weapon finite state machine
represents weapon's stable state (i.e. the basic states that the weapon will spend the most time in)
override bool IsRepairEnabled()
override void OnEntry(WeaponEventBase e)
override int GetCurrentStateID()
override void OnExit(WeaponEventBase e)
override bool HasBullet()
override void InitMuzzleArray()
override bool HasMagazine()
represent weapon state base
handle jamming state set jam/unjam state for weapon
override bool IsRepairEnabled()
override void OnEntry(WeaponEventBase e)
override int GetCurrentStateID()
override void OnExit(WeaponEventBase e)
override bool HasBullet()
override void InitMuzzleArray()
override bool HasMagazine()
WeaponActionChamberingTypes
WeaponActionUnjammingTypes