24 m_ejectChamber =
new WeaponEjectAndChamberFromAttMag(
m_weapon,
this);
103 m_dstMagazine =
NULL;
109 if (!
super.SaveCurrentFSMState(
ctx))
112 if (!
ctx.Write(m_dstMagazine))
114 Error(
"[wpnfsm] " +
Object.GetDebugName(
m_weapon) +
" WeaponEjectBullet_Cartridge.SaveCurrentFSMState: cannot write m_dstMagazine for weapon=" +
m_weapon);
122 if (!
super.LoadCurrentFSMState(
ctx, version))
125 if (!
ctx.Read(m_dstMagazine))
127 Error(
"[wpnfsm] " +
Object.GetDebugName(
m_weapon) +
" WeaponEjectBullet_Cartridge.LoadCurrentFSMState: cannot read m_dstMagazine for weapon=" +
m_weapon);
145 for (
int i = 0;
i <
m_weapon.GetMuzzleCount();
i++)
157 m_dstMagazine =
NULL;
163 m_dstMagazine =
NULL;
169 if (!
super.SaveCurrentFSMState(
ctx))
172 if (!
ctx.Write(m_dstMagazine))
174 Error(
"[wpnfsm] " +
Object.GetDebugName(
m_weapon) +
" WeaponEjectBullet_Cartridge.SaveCurrentFSMState: cannot write m_dstMagazine for weapon=" +
m_weapon);
182 if (!
super.LoadCurrentFSMState(
ctx, version))
185 if (!
ctx.Read(m_dstMagazine))
187 Error(
"[wpnfsm] " +
Object.GetDebugName(
m_weapon) +
" WeaponEjectBullet_Cartridge.LoadCurrentFSMState: cannot read m_dstMagazine for weapon=" +
m_weapon);
262 m_fsm.SetInitialState(
m_start);
334 m_fsm.SetInitialState(
m_start);
377 m_fsm.SetInitialState(
m_start);
class WeaponGuardIsDestroyed extends WeaponGuardBase m_weapon
void WeaponGuardHasAmmo(Weapon_Base w=NULL)
enum FSMTransition WeaponTransition
ref WeaponStateBase m_start
class WeaponEndAction extends WeaponStartAction m_action
ref WeaponChambering_Base m_chamber
ref WeaponEjectCasingMultiMuzzle m_eject
Serialization general interface. Serializer API works with:
charging of weapon without ammo to be chambered
override bool IsWaitingForActionFinish()
signalize mechanism manipulation
weapon finite state machine
simple class starting animation action specified by m_action and m_actionType
override bool IsWaitingForActionFinish()
represent weapon state base
ref BulletHide_W4T m_hideB
ref WeaponEjectAndChamberFromAttMag m_ejectChamber
int m_actionType
action to be played
void WeaponChargingMultiple(Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
ref WeaponEjectBullet_Cartridge_W4T m_onBE
ref WeaponChamberFromInnerMag_W4T m_chamber
ref WeaponCharging_Start m_start
ref WeaponChambering_Cartridge m_chamber
override bool IsWaitingForActionFinish()
override void OnEntry(WeaponEventBase e)
void WeaponChargingInnerMag(Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
ref WeaponCharging_CK m_onCK
ref WeaponStateBase m_start
source of the cartridge
override bool LoadCurrentFSMState(ParamsReadContext ctx, int version)
ref WeaponEjectCasing_W4T m_onBEFireOut
override void OnAbort(WeaponEventBase e)
void WeaponChargingStretch(Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
void WeaponCharging(Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
override void OnExit(WeaponEventBase e)
override bool SaveCurrentFSMState(ParamsWriteContext ctx)
void Error(string err)
Messagebox with error message.
void ejectBulletAndStoreInMagazine(Weapon_Base weapon, int muzzleIndex, Magazine mag, DayZPlayer p)