9 ref WeaponEjectBullet_Cartridge
m_eject;
11 ref WeaponChambering_W4T
m_w4t;
16 m_actionType = actionType;
22 m_w4t =
new WeaponChambering_W4T(
m_weapon,
this);
24 WeaponEventAnimBulletEject __be_ =
new WeaponEventAnimBulletEject;
25 WeaponEventAnimBulletShow __bs_ =
new WeaponEventAnimBulletShow;
26 WeaponEventAnimBulletInChamber __bc_ =
new WeaponEventAnimBulletInChamber;
52 int mi =
m_weapon.GetCurrentMuzzle();
53 string magazineTypeName =
m_weapon.GetChamberedCartridgeMagazineTypeName(mi);
56 if (
m_weapon.GetCartridgeInfo(mi, damage, type))
59 if (is_single_or_server)
64 Error(
"[wpnfsm] " +
Object.GetDebugName(
m_weapon) +
" WeaponRechamber - error, cannot prepare mag for catridge, magType=" + magazineTypeName);
90 if (!super.SaveCurrentFSMState(ctx))
93 if (!ctx.
Write(m_dstMagazine))
95 Error(
"[wpnfsm] " +
Object.GetDebugName(
m_weapon) +
" WeaponRechamber.SaveCurrentFSMState: cannot save m_dstMagazine for weapon=" +
m_weapon);
100 Error(
"[wpnfsm] " +
Object.GetDebugName(
m_weapon) +
" WeaponRechamber.SaveCurrentFSMState: cannot save m_srcMagazine for weapon=" +
m_weapon);
108 if (!super.LoadCurrentFSMState(ctx, version))
111 if (!ctx.
Read(m_dstMagazine))
113 Error(
"[wpnfsm] " +
Object.GetDebugName(
m_weapon) +
" WeaponRechamber.LoadCurrentFSMState: cannot read m_dstMagazine for weapon=" +
m_weapon);
118 Error(
"[wpnfsm] " +
Object.GetDebugName(
m_weapon) +
" WeaponRechamber.LoadCurrentFSMState: cannot read m_srcMagazine for weapon=" +
m_weapon);
void wpnDebugPrint(string s)
private void DayZPlayerUtils()
cannot be instantiated
class WeaponGuardIsDestroyed extends WeaponGuardBase m_weapon
enum FSMTransition WeaponTransition
ref WeaponStateBase m_start
class WeaponEndAction extends WeaponStartAction m_action
ref WeaponChambering_Base m_chamber
ref WeaponEjectCasingMultiMuzzle m_eject
proto native bool IsServer()
proto native bool IsMultiplayer()
static bool IsWeaponLogEnable()
Serialization general interface. Serializer API works with:
proto bool Write(void value_out)
proto bool Read(void value_in)
signalize mechanism manipulation
weapon finite state machine
represent weapon state base
ref WeaponStateBase m_start
source of the cartridge
Magazine m_srcMagazine
destination of the ejected cartridge
override void OnEntry(WeaponEventBase e)
ref WeaponChambering_W4T m_w4t
void RifleReChambering(Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
ref WeaponEjectBullet_Cartridge m_eject
override void OnAbort(WeaponEventBase e)
override void OnExit(WeaponEventBase e)
override bool LoadCurrentFSMState(ParamsReadContext ctx, int version)
int m_actionType
action to be played
ref WeaponChambering_Cartridge m_chamber
override bool SaveCurrentFSMState(ParamsWriteContext ctx)
proto native CGame GetGame()
void Error(string err)
Messagebox with error message.