43 Magazine m_dstMagazine;
45 ref WeaponEjectBullet_Start
m_start;
46 ref WeaponEjectBullet_Cartridge_W4T
m_eject;
47 ref BulletHide_W4T m_hideB;
48 ref WeaponChamberFromAttMag_W4T
m_chamber;
50 void WeaponEjectBullet (
Weapon_Base w = NULL,
WeaponStateBase parent = NULL, WeaponActions action = WeaponActions.NONE,
int actionType = -1)
53 m_actionType = actionType;
58 m_hideB =
new BulletHide_W4T(
m_weapon,
this);
90 m_dstMagazine = e.m_magazine;
91 m_eject.m_dstMagazine = m_dstMagazine;
93 if (
LogManager.IsWeaponLogEnable()) {
wpnDebugPrint(
"[wpnfsm] " +
Object.GetDebugName(
m_weapon) +
" WeaponEjectBullet m_mag=" + m_dstMagazine.ToString() +
", e.mag=" + e.m_magazine.ToString()); }
102 m_dstMagazine = NULL;
108 m_dstMagazine = NULL;
114 if (!super.SaveCurrentFSMState(ctx))
117 if (!ctx.Write(m_dstMagazine))
119 Error(
"[wpnfsm] " +
Object.GetDebugName(
m_weapon) +
" WeaponEjectBullet.LoadCurrentFSMState: cannot write m_dstMagazine for weapon=" +
m_weapon);
127 if (!super.LoadCurrentFSMState(ctx, version))
130 if (!ctx.Read(m_dstMagazine))
132 Error(
"[wpnfsm] " +
Object.GetDebugName(
m_weapon) +
" WeaponEjectBullet.LoadCurrentFSMState: cannot read m_dstMagazine for weapon=" +
m_weapon);
void wpnDebugPrint(string s)
Serialization general interface. Serializer API works with:
signalize mechanism manipulation
weapon finite state machine
simple class starting animation action specified by m_action and m_actionType
represent weapon state base
void Error(string err)
Messagebox with error message.
class WeaponGuardIsDestroyed extends WeaponGuardBase m_weapon
void WeaponGuardHasAmmo(Weapon_Base w=NULL)
HandStateEquipped OnEntry
enum FSMTransition WeaponTransition
ref WeaponStateBase m_start
class WeaponChambering_Chamber_OnEntry extends WeaponChambering_Base OnExit
class WeaponEndAction extends WeaponStartAction m_action
override bool LoadCurrentFSMState(ParamsReadContext ctx, int version)
ref WeaponChambering_Base m_chamber
ref WeaponEjectCasingMultiMuzzle m_eject
override bool SaveCurrentFSMState(ParamsWriteContext ctx)