PC Stable Documentation
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Loading...
Searching...
No Matches
WeaponStateBase Class Reference

represent weapon state base More...

Private Member Functions

override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
void RifleChambering (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnAbort (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
void RifleEjectCasing (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 
void RifleReChambering (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnAbort (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
void RemoveNewMagazineFromInventory (Weapon_Base w=NULL, WeaponStateBase parent=NULL)
 
override void OnEntry (WeaponEventBase e)
 
override void OnAbort (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
void WeaponAttachMagazine (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnAbort (WeaponEventBase e)
 
void WeaponChamberFromAttMag (Weapon_Base w=NULL, WeaponStateBase parent=NULL, int action=-1, int actionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
void WeaponChamberFromInnerMag (Weapon_Base w=NULL, WeaponStateBase parent=NULL, int action=-1, int actionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
void WeaponChamberFromAttMagOnExit (Weapon_Base w=NULL, WeaponStateBase parent=NULL, int action=-1, int actionType=-1)
 
override void OnExit (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 source of the cartridge
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
override bool IsWaitingForActionFinish ()
 waiting for active animation action/actionType finish
 
void WeaponChambering (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnAbort (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
bool FindNextFreeMuzzle (int currentMuzzle, out int nextMuzzle)
 
override void OnEntry (WeaponEventBase e)
 
void WeaponMagnumChambering (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int startActionType=-1, int endActionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override void OnAbort (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
override bool IsWaitingForActionFinish ()
 
void LoopedChambering (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int startActionType=-1, int endActionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override void OnAbort (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
void LoopedChamberingEjectLast (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int startActionType=-1, int endActionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override void OnAbort (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
void WeaponCharging (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 
override bool IsWaitingForActionFinish ()
 
override void OnEntry (WeaponEventBase e)
 
override void OnEntry (WeaponEventBase e)
 destination of the cartridge
 
override void OnAbort (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
override void OnEntry (WeaponEventBase e)
 destination of the cartridge
 
override void OnAbort (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
void WeaponChargingInnerMag (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
void WeaponChargingMultiple (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
void WeaponChargingStretch (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnAbort (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
void WeaponDetachingMag (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
void WeaponEjectBullet (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnAbort (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
void WeaponEjectCasing (Weapon_Base w=NULL, WeaponStateBase parent=NULL)
 
override void OnEntry (WeaponEventBase e)
 
void WeaponEjectCasingMultiMuzzle (Weapon_Base w=NULL, WeaponStateBase parent=NULL)
 
override void OnEntry (WeaponEventBase e)
 
override bool IsWaitingForActionFinish ()
 
void WeaponEjectAllMuzzles (Weapon_Base w=NULL, WeaponStateBase parent=NULL)
 
override void OnEntry (WeaponEventBase e)
 
override bool IsWaitingForActionFinish ()
 
void WeaponFireAndChamberNext (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnUpdate (float dt)
 
override void OnExit (WeaponEventBase e)
 
override void OnAbort (WeaponEventBase e)
 
override float GetCoolDown ()
 
void WeaponFireAndChamberNextFromInnerMag (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnUpdate (float dt)
 
override void OnExit (WeaponEventBase e)
 
void WeaponFireLast (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
void WeaponRechamber (Weapon_Base w=NULL, WeaponStateBase parent=NULL, int actionEject=-1, int actionTypeEject=-1, int actionLoad=-1, int actionTypeLoad=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
void DetachOldMagazine (Weapon_Base w=NULL, WeaponStateBase parent=NULL)
 
override void OnEntry (WeaponEventBase e)
 
override void OnAbort (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
override void OnEntry (WeaponEventBase e)
 
override void OnAbort (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
void AttachNewMagazine (Weapon_Base w=NULL, WeaponStateBase parent=NULL)
 
override bool IsWaitingForActionFinish ()
 
override void OnEntry (WeaponEventBase e)
 
override void OnAbort (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
override bool IsWaitingForActionFinish ()
 
void WeaponReplacingMagAndChamberNext (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override void OnAbort (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
void WeaponStartAction (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 specific action sub-type
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
void WeaponStateBase (Weapon_Base w=NULL, WeaponStateBase parent=NULL)
 internal state id used for load/restore
 
void SetParentState (WeaponStateBase parent)
 allows construction of hierarchical state machine
 
WeaponStateBase GetParentState ()
 
bool HasFSM ()
 
WeaponFSM GetFSM ()
 
void SetInternalStateID (int i)
 
int GetInternalStateID ()
 
bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
bool ProcessEvent (WeaponEventBase e)
 
void AddTransition (WeaponTransition t)
 adds transition into m_fsm transition table
 
void OnEntry (WeaponEventBase e)
 
void OnUpdate (float dt)
 
void OnAbort (WeaponEventBase e)
 
void OnExit (WeaponEventBase e)
 
bool IsWaitingForActionFinish ()
 
bool IsIdle ()
 idle state does not expect any animation events
 
bool IsBoltOpen ()
 
void OnSubMachineChanged (WeaponStateBase src, WeaponStateBase dst)
 called when sub-machine has changed its state
 
void OnStateChanged (WeaponStateBase src, WeaponStateBase dst)
 called on current state when state machine has changed its state
 
float GetCoolDown ()
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 
override bool SaveCurrentFSMState (ParamsWriteContext ctx)
 
override bool LoadCurrentFSMState (ParamsReadContext ctx, int version)
 
override bool IsWaitingForActionFinish ()
 
void WeaponUnjamming (Weapon_Base w=NULL, WeaponStateBase parent=NULL, WeaponActions action=WeaponActions.NONE, int actionType=-1)
 
override void OnEntry (WeaponEventBase e)
 
override void OnExit (WeaponEventBase e)
 

Private Attributes

WeaponActions m_action
 
int m_actionType
 action to be played
 
Magazine m_srcMagazine
 destination of the ejected cartridge
 
ref WeaponStateBase m_start
 source of the cartridge
 
ref WeaponEjectCasing m_eject
 
ref WeaponChambering_Cartridge m_chamber
 
ref WeaponChambering_W4T m_w4t
 
ref WeaponStartAction m_start
 
ref BulletHide_W4T m_hideB
 
Magazine m_dstMagazine
 
ref WeaponEjectBullet_Cartridge m_eject
 
Magazine m_newMagazine
 magazine that will be detached
 
ref InventoryLocation m_newSrc
 magazine that will be removed from inventory
 
ref AttachNewMagazine m_attach
 
ref WeaponChamberFromAttMag_W4T m_chamber
 
ref WeaponCharging_CK m_onCK
 
float m_damage
 
string m_type
 
string m_magazineType
 
ref InventoryLocation m_srcMagazinePrevLocation
 source of the cartridge
 
int m_startActionType
 
int m_endActionType
 
ref WeaponEjectAllMuzzles m_eject
 
ref WeaponCylinderRotate m_rotate
 
ref WeaponChambering_Base m_chamber
 
ref LoopedChambering_Wait4ShowBullet2 m_w4sb2
 
ref WeaponStartAction m_endLoop
 
ref WeaponChamberFromInnerMag_W4T m_chamberFromInnerMag
 
ref WeaponCharging_Start m_start
 
ref WeaponEjectAndChamberFromAttMag m_ejectChamber
 
ref WeaponEjectBullet_Cartridge_W4T m_onBE
 
ref WeaponEjectCasing_W4T m_onBEFireOut
 
ref WeaponChamberFromInnerMag_W4T m_chamber
 
Magazine m_magazine
 
ref InventoryLocation m_dst
 magazine that will be detached
 
ref WeaponDetachingMag_Store m_store
 
ref MagazineHide_W4T m_hideM
 
ref WeaponEjectBullet_Start m_start
 destination of the cartridge
 
ref WeaponEjectBullet_Cartridge_W4T m_eject
 
float m_dtAccumulator
 
ref WeaponFire m_fire
 
ref WeaponFireWithEject m_fire
 
int m_actionEject
 
int m_actionTypeEject
 
int m_actionLoad
 
int m_actionTypeLoad
 
ref WeaponEjectBullet m_eje
 source of the loaded cartridge
 
ref WeaponChambering m_loa
 
Magazine m_oldMagazine
 
ref InventoryLocation m_newDst
 magazine that will be detached
 
ref DetachOldMagazine m_detach
 
ref OldMagazineHide m_hideOld
 
ref SwapOldAndNewMagazine m_swapMags
 
ref AttachNewMagazine_W4T m_attach
 
Weapon_Base m_weapon
 
WeaponStateBase m_parentState
 weapon that this state relates to
 
ref WeaponFSM m_fsm
 hierarchical parent state of this state (or null)
 
int m_InternalID = -1
 nested state machine (or null)
 
float m_jamTime
 
ref WeaponUnjamming_Start m_start
 
ref WeaponUnjamming_Cartridge_W4T m_eject
 
ref WeaponUnjamming_W4T m_w4t
 

Detailed Description

represent weapon state base

Class comes with entry/update/abort/exit hooks that can be overriden in custom states

Class is ready for hierarchic composition, i.e. this state having a sub-machine running under hood. If no m_fsm member is configured, class acts as ordinary plain finite machine state.

Constructor & Destructor Documentation

◆ WeaponStateBase()

void WeaponStateBase ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL 
)
inlineprivate

internal state id used for load/restore

References m_parentState, and m_weapon.

Member Function Documentation

◆ AddTransition()

AddTransition ( WeaponTransition  t)
inlineprivate

adds transition into m_fsm transition table

References Error(), HasFSM(), m_fsm, and m_weapon.

◆ AttachNewMagazine()

void AttachNewMagazine ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL 
)
inlineprivate

◆ DetachOldMagazine()

void DetachOldMagazine ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL 
)
inlineprivate

References m_oldMagazine.

◆ FindNextFreeMuzzle()

bool FindNextFreeMuzzle ( int  currentMuzzle,
out int  nextMuzzle 
)
inlineprivate

References m_weapon, and Math::WrapInt().

Referenced by OnEntry().

◆ GetCoolDown() [1/2]

override float GetCoolDown ( )
inlineprivate

References m_dtAccumulator, and m_weapon.

Referenced by OnAbort().

◆ GetCoolDown() [2/2]

float GetCoolDown ( )
inlineprivate

◆ GetFSM()

WeaponFSM GetFSM ( )
inlineprivate

References m_fsm.

◆ GetInternalStateID()

◆ GetParentState()

GetParentState ( )
inlineprivate
Returns
state that owns this sub-state (or null if plain state)

References m_parentState.

Referenced by HFSMBase< WeaponStateBase, WeaponEventBase, WeaponActionBase, WeaponGuardBase >::ProcessAbortEvent().

◆ HasFSM()

◆ IsBoltOpen()

IsBoltOpen ( )
inlineprivate
Returns
true if weapon bolt is open

Referenced by WeaponParticlesBase::CheckBoltStateCondition().

◆ IsIdle()

IsIdle ( )
inlineprivate

idle state does not expect any animation events

Returns
true if this state is idle

Referenced by LoadCurrentFSMState(), and SaveCurrentFSMState().

◆ IsWaitingForActionFinish() [1/9]

IsWaitingForActionFinish ( )
inlineprivate

waiting for active animation action/actionType finish

Returns
true if this state or active substate is waiting for finish signal

◆ IsWaitingForActionFinish() [2/9]

override bool IsWaitingForActionFinish ( )
inlineprivate

◆ IsWaitingForActionFinish() [3/9]

override bool IsWaitingForActionFinish ( )
inlineprivate

◆ IsWaitingForActionFinish() [4/9]

override bool IsWaitingForActionFinish ( )
inlineprivate

◆ IsWaitingForActionFinish() [5/9]

override bool IsWaitingForActionFinish ( )
inlineprivate

◆ IsWaitingForActionFinish() [6/9]

override bool IsWaitingForActionFinish ( )
inlineprivate

◆ IsWaitingForActionFinish() [7/9]

override bool IsWaitingForActionFinish ( )
inlineprivate

◆ IsWaitingForActionFinish() [8/9]

bool IsWaitingForActionFinish ( )
inlineprivate

References HasFSM(), and m_fsm.

◆ IsWaitingForActionFinish() [9/9]

override bool IsWaitingForActionFinish ( )
inlineprivate

◆ LoadCurrentFSMState() [1/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ LoadCurrentFSMState() [2/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ LoadCurrentFSMState() [3/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ LoadCurrentFSMState() [4/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ LoadCurrentFSMState() [5/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ LoadCurrentFSMState() [6/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ LoadCurrentFSMState() [7/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ LoadCurrentFSMState() [8/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ LoadCurrentFSMState() [9/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

References Error(), m_weapon, and Serializer::Read().

◆ LoadCurrentFSMState() [10/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

References Error(), m_weapon, and Serializer::Read().

◆ LoadCurrentFSMState() [11/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ LoadCurrentFSMState() [12/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ LoadCurrentFSMState() [13/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

References Error(), m_weapon, and Serializer::Read().

◆ LoadCurrentFSMState() [14/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ LoadCurrentFSMState() [15/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ LoadCurrentFSMState() [16/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ LoadCurrentFSMState() [17/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ LoadCurrentFSMState() [18/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ LoadCurrentFSMState() [19/20]

bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

◆ LoadCurrentFSMState() [20/20]

override bool LoadCurrentFSMState ( ParamsReadContext  ctx,
int  version 
)
inlineprivate

References Error(), m_weapon, and Serializer::Read().

◆ LoopedChambering()

void LoopedChambering ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  startActionType = -1,
int  endActionType = -1 
)
inlineprivate

◆ LoopedChamberingEjectLast()

void LoopedChamberingEjectLast ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  startActionType = -1,
int  endActionType = -1 
)
inlineprivate

◆ OnAbort() [1/18]

override void OnAbort ( WeaponEventBase  e)
inlineprivate

References m_srcMagazine.

◆ OnAbort() [2/18]

override void OnAbort ( WeaponEventBase  e)
inlineprivate

References m_srcMagazine.

◆ OnAbort() [3/18]

override void OnAbort ( WeaponEventBase  e)
inlineprivate

◆ OnAbort() [4/18]

◆ OnAbort() [5/18]

◆ OnAbort() [6/18]

◆ OnAbort() [7/18]

◆ OnAbort() [8/18]

◆ OnAbort() [9/18]

override void OnAbort ( WeaponEventBase  e)
inlineprivate

◆ OnAbort() [10/18]

override void OnAbort ( WeaponEventBase  e)
inlineprivate

◆ OnAbort() [11/18]

override void OnAbort ( WeaponEventBase  e)
inlineprivate

References m_dst.

◆ OnAbort() [12/18]

override void OnAbort ( WeaponEventBase  e)
inlineprivate

◆ OnAbort() [13/18]

override void OnAbort ( WeaponEventBase  e)
inlineprivate

References GetCoolDown(), and m_weapon.

◆ OnAbort() [14/18]

override void OnAbort ( WeaponEventBase  e)
inlineprivate

References m_oldMagazine.

◆ OnAbort() [15/18]

override void OnAbort ( WeaponEventBase  e)
inlineprivate

◆ OnAbort() [16/18]

◆ OnAbort() [17/18]

◆ OnAbort() [18/18]

void OnAbort ( WeaponEventBase  e)
inlineprivate

◆ OnEntry() [1/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

References m_weapon.

◆ OnEntry() [2/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

References m_weapon.

◆ OnEntry() [3/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

References m_weapon.

◆ OnEntry() [4/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

◆ OnEntry() [5/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

References m_weapon.

◆ OnEntry() [6/39]

◆ OnEntry() [7/39]

◆ OnEntry() [8/39]

◆ OnEntry() [9/39]

◆ OnEntry() [10/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

◆ OnEntry() [11/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

◆ OnEntry() [12/39]

◆ OnEntry() [13/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

◆ OnEntry() [14/39]

◆ OnEntry() [15/39]

◆ OnEntry() [16/39]

◆ OnEntry() [17/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

References m_weapon.

◆ OnEntry() [18/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

destination of the cartridge

References ejectBulletAndStoreInMagazine(), WeaponEventBase::m_player, and m_weapon.

◆ OnEntry() [19/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

destination of the cartridge

References ejectBulletAndStoreInMagazine(), WeaponEventBase::m_player, and m_weapon.

◆ OnEntry() [20/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

◆ OnEntry() [21/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

◆ OnEntry() [22/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

References Error(), m_dst, and m_weapon.

◆ OnEntry() [23/39]

◆ OnEntry() [24/39]

◆ OnEntry() [25/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

◆ OnEntry() [26/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

◆ OnEntry() [27/39]

◆ OnEntry() [28/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

References m_dtAccumulator.

◆ OnEntry() [29/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

References m_dtAccumulator.

◆ OnEntry() [30/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

References m_dtAccumulator.

◆ OnEntry() [31/39]

◆ OnEntry() [32/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

◆ OnEntry() [33/39]

◆ OnEntry() [34/39]

◆ OnEntry() [35/39]

◆ OnEntry() [36/39]

◆ OnEntry() [37/39]

void OnEntry ( WeaponEventBase  e)
inlineprivate

◆ OnEntry() [38/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

◆ OnEntry() [39/39]

override void OnEntry ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [1/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [2/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [3/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [4/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [5/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [6/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

References m_srcMagazine.

◆ OnExit() [7/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

References m_srcMagazine.

◆ OnExit() [8/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

References m_weapon.

◆ OnExit() [9/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [10/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [11/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [12/34]

◆ OnExit() [13/34]

◆ OnExit() [14/34]

◆ OnExit() [15/34]

◆ OnExit() [16/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [17/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [18/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [19/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [20/34]

◆ OnExit() [21/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

References m_dst.

◆ OnExit() [22/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [23/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [24/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [25/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [26/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [27/34]

◆ OnExit() [28/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [29/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [30/34]

◆ OnExit() [31/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [32/34]

void OnExit ( WeaponEventBase  e)
inlineprivate

◆ OnExit() [33/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

References string::Empty.

◆ OnExit() [34/34]

override void OnExit ( WeaponEventBase  e)
inlineprivate

References m_dtAccumulator.

◆ OnStateChanged()

OnStateChanged ( WeaponStateBase  src,
WeaponStateBase  dst 
)
inlineprivate

called on current state when state machine has changed its state

Parameters
[in]srcfrom state (previous)
[in]dstto state (current)

◆ OnSubMachineChanged()

OnSubMachineChanged ( WeaponStateBase  src,
WeaponStateBase  dst 
)
inlineprivate

called when sub-machine has changed its state

Parameters
[in]srcfrom state (previous)
[in]dstto state (current)

◆ OnUpdate() [1/3]

override void OnUpdate ( float  dt)
inlineprivate

◆ OnUpdate() [2/3]

override void OnUpdate ( float  dt)
inlineprivate

◆ OnUpdate() [3/3]

void OnUpdate ( float  dt)
inlineprivate

References HasFSM(), and m_fsm.

◆ ProcessEvent()

bool ProcessEvent ( WeaponEventBase  e)
inlineprivate

References HasFSM(), and m_fsm.

◆ RemoveNewMagazineFromInventory()

void RemoveNewMagazineFromInventory ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL 
)
inlineprivate

◆ RifleChambering()

void RifleChambering ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

References m_action, m_chamber, m_eject, m_start, and m_weapon.

◆ RifleEjectCasing()

void RifleEjectCasing ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

References m_action, m_eject, m_start, and m_weapon.

◆ RifleReChambering()

void RifleReChambering ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

References m_action, m_chamber, m_eject, m_start, and m_weapon.

◆ SaveCurrentFSMState() [1/20]

◆ SaveCurrentFSMState() [2/20]

override bool SaveCurrentFSMState ( ParamsWriteContext  ctx)
inlineprivate

◆ SaveCurrentFSMState() [3/20]

override bool SaveCurrentFSMState ( ParamsWriteContext  ctx)
inlineprivate

◆ SaveCurrentFSMState() [4/20]

override bool SaveCurrentFSMState ( ParamsWriteContext  ctx)
inlineprivate

source of the cartridge

References Error(), m_srcMagazine, m_weapon, and Serializer::Write().

◆ SaveCurrentFSMState() [5/20]

◆ SaveCurrentFSMState() [6/20]

◆ SaveCurrentFSMState() [7/20]

◆ SaveCurrentFSMState() [8/20]

◆ SaveCurrentFSMState() [9/20]

override bool SaveCurrentFSMState ( ParamsWriteContext  ctx)
inlineprivate

◆ SaveCurrentFSMState() [10/20]

override bool SaveCurrentFSMState ( ParamsWriteContext  ctx)
inlineprivate

◆ SaveCurrentFSMState() [11/20]

override bool SaveCurrentFSMState ( ParamsWriteContext  ctx)
inlineprivate

◆ SaveCurrentFSMState() [12/20]

override bool SaveCurrentFSMState ( ParamsWriteContext  ctx)
inlineprivate

◆ SaveCurrentFSMState() [13/20]

override bool SaveCurrentFSMState ( ParamsWriteContext  ctx)
inlineprivate

◆ SaveCurrentFSMState() [14/20]

override bool SaveCurrentFSMState ( ParamsWriteContext  ctx)
inlineprivate

◆ SaveCurrentFSMState() [15/20]

override bool SaveCurrentFSMState ( ParamsWriteContext  ctx)
inlineprivate

◆ SaveCurrentFSMState() [16/20]

override bool SaveCurrentFSMState ( ParamsWriteContext  ctx)
inlineprivate

◆ SaveCurrentFSMState() [17/20]

override bool SaveCurrentFSMState ( ParamsWriteContext  ctx)
inlineprivate

◆ SaveCurrentFSMState() [18/20]

override bool SaveCurrentFSMState ( ParamsWriteContext  ctx)
inlineprivate

◆ SaveCurrentFSMState() [19/20]

bool SaveCurrentFSMState ( ParamsWriteContext  ctx)
inlineprivate

◆ SaveCurrentFSMState() [20/20]

override bool SaveCurrentFSMState ( ParamsWriteContext  ctx)
inlineprivate

◆ SetInternalStateID()

void SetInternalStateID ( int  i)
inlineprivate

◆ SetParentState()

SetParentState ( WeaponStateBase  parent)
inlineprivate

allows construction of hierarchical state machine

References m_parentState.

◆ WeaponAttachMagazine()

void WeaponAttachMagazine ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

◆ WeaponChamberFromAttMag()

void WeaponChamberFromAttMag ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
int  action = -1,
int  actionType = -1 
)
inlineprivate

◆ WeaponChamberFromAttMagOnExit()

void WeaponChamberFromAttMagOnExit ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
int  action = -1,
int  actionType = -1 
)
inlineprivate

◆ WeaponChamberFromInnerMag()

void WeaponChamberFromInnerMag ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
int  action = -1,
int  actionType = -1 
)
inlineprivate

◆ WeaponChambering()

void WeaponChambering ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

References m_action, m_chamber, m_eject, m_start, and m_weapon.

Referenced by WeaponRechamber().

◆ WeaponCharging()

void WeaponCharging ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

◆ WeaponChargingInnerMag()

void WeaponChargingInnerMag ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

References m_action, m_chamber, m_start, and m_weapon.

◆ WeaponChargingMultiple()

void WeaponChargingMultiple ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

◆ WeaponChargingStretch()

void WeaponChargingStretch ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

References m_action, m_start, and m_weapon.

◆ WeaponDetachingMag()

void WeaponDetachingMag ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

References m_action, m_start, and m_weapon.

◆ WeaponEjectAllMuzzles()

void WeaponEjectAllMuzzles ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL 
)
inlineprivate

◆ WeaponEjectBullet()

void WeaponEjectBullet ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

◆ WeaponEjectCasing()

void WeaponEjectCasing ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL 
)
inlineprivate

◆ WeaponEjectCasingMultiMuzzle()

void WeaponEjectCasingMultiMuzzle ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL 
)
inlineprivate

◆ WeaponFireAndChamberNext()

void WeaponFireAndChamberNext ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

References m_action, and m_weapon.

◆ WeaponFireAndChamberNextFromInnerMag()

void WeaponFireAndChamberNextFromInnerMag ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

References m_action, and m_weapon.

◆ WeaponFireLast()

void WeaponFireLast ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

References m_action, and m_weapon.

◆ WeaponMagnumChambering()

void WeaponMagnumChambering ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  startActionType = -1,
int  endActionType = -1 
)
inlineprivate

◆ WeaponRechamber()

void WeaponRechamber ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
int  actionEject = -1,
int  actionTypeEject = -1,
int  actionLoad = -1,
int  actionTypeLoad = -1 
)
inlineprivate

◆ WeaponReplacingMagAndChamberNext()

void WeaponReplacingMagAndChamberNext ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

◆ WeaponStartAction()

void WeaponStartAction ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

specific action sub-type

References m_action.

◆ WeaponUnjamming()

void WeaponUnjamming ( Weapon_Base  w = NULL,
WeaponStateBase  parent = NULL,
WeaponActions  action = WeaponActions.NONE,
int  actionType = -1 
)
inlineprivate

Field Documentation

◆ m_action

WeaponActions m_action
private

◆ m_actionEject

int m_actionEject
private

◆ m_actionLoad

int m_actionLoad
private

◆ m_actionType

int m_actionType
private

action to be played

◆ m_actionTypeEject

int m_actionTypeEject
private

◆ m_actionTypeLoad

int m_actionTypeLoad
private

◆ m_attach [1/2]

ref AttachNewMagazine m_attach
private

◆ m_attach [2/2]

ref AttachNewMagazine_W4T m_attach
private

◆ m_chamber [1/4]

ref WeaponChamberFromAttMag_W4T m_chamber
private

◆ m_chamber [2/4]

ref WeaponChamberFromAttMag_W4T m_chamber
private

◆ m_chamber [3/4]

ref WeaponChambering_Base m_chamber
private

◆ m_chamber [4/4]

ref WeaponChamberFromInnerMag_W4T m_chamber
private

◆ m_chamberFromInnerMag

ref WeaponChamberFromInnerMag_W4T m_chamberFromInnerMag
private

◆ m_damage

float m_damage
private

◆ m_detach

ref DetachOldMagazine m_detach
private

◆ m_dst

ref InventoryLocation m_dst
private

magazine that will be detached

detached magazine

Referenced by OnEntry().

◆ m_dstMagazine

Magazine m_dstMagazine
private

Referenced by OnEntry().

◆ m_dtAccumulator

float m_dtAccumulator
private

Referenced by GetCoolDown(), and OnEntry().

◆ m_eje

ref WeaponEjectBullet m_eje
private

source of the loaded cartridge

◆ m_eject [1/5]

ref WeaponEjectCasing m_eject
private

◆ m_eject [2/5]

ref WeaponEjectBullet_Cartridge m_eject
private

◆ m_eject [3/5]

ref WeaponEjectAllMuzzles m_eject
private

◆ m_eject [4/5]

ref WeaponEjectBullet_Cartridge_W4T m_eject
private

◆ m_eject [5/5]

ref WeaponUnjamming_Cartridge_W4T m_eject
private

◆ m_ejectChamber

ref WeaponEjectAndChamberFromAttMag m_ejectChamber
private

◆ m_endActionType

int m_endActionType
private

◆ m_endLoop

ref WeaponStartAction m_endLoop
private

◆ m_fire [1/2]

ref WeaponFire m_fire
private

◆ m_fire [2/2]

ref WeaponFireWithEject m_fire
private

◆ m_fsm

ref WeaponFSM m_fsm
private

◆ m_hideB

ref BulletHide_W4T m_hideB
private

◆ m_hideM

ref MagazineHide_W4T m_hideM
private

◆ m_hideOld

ref OldMagazineHide m_hideOld
private

◆ m_InternalID

int m_InternalID = -1
private

nested state machine (or null)

Referenced by GetInternalStateID(), and SetInternalStateID().

◆ m_jamTime

float m_jamTime
private

Referenced by OnEntry().

◆ m_loa

ref WeaponChambering m_loa
private

◆ m_magazine

Magazine m_magazine
private

Referenced by OnEntry().

◆ m_magazineType

string m_magazineType
private

◆ m_newDst

ref InventoryLocation m_newDst
private

magazine that will be detached

magazine that will be attached

new magazine from inventory that will be attached

magazine that will be dropped on abort

◆ m_newMagazine

Magazine m_newMagazine
private

magazine that will be detached

◆ m_newSrc

ref InventoryLocation m_newSrc
private

magazine that will be removed from inventory

◆ m_oldMagazine

Magazine m_oldMagazine
private

◆ m_onBE

ref WeaponEjectBullet_Cartridge_W4T m_onBE
private

◆ m_onBEFireOut

ref WeaponEjectCasing_W4T m_onBEFireOut
private

◆ m_onCK

ref WeaponCharging_CK m_onCK
private

◆ m_parentState

WeaponStateBase m_parentState
private

weapon that this state relates to

Referenced by GetParentState(), SetParentState(), and WeaponStateBase().

◆ m_rotate

ref WeaponCylinderRotate m_rotate
private

◆ m_srcMagazine

Magazine m_srcMagazine
private

destination of the ejected cartridge

Referenced by OnEntry().

◆ m_srcMagazinePrevLocation

ref InventoryLocation m_srcMagazinePrevLocation
private

source of the cartridge

◆ m_start [1/5]

ref WeaponStartAction m_start
private

source of the cartridge

detached magazine destination

source of the loaded cartridge

◆ m_start [2/5]

ref WeaponStartAction m_start
private

◆ m_start [3/5]

ref WeaponCharging_Start m_start
private

◆ m_start [4/5]

ref WeaponEjectBullet_Start m_start
private

destination of the cartridge

◆ m_start [5/5]

ref WeaponUnjamming_Start m_start
private

◆ m_startActionType

int m_startActionType
private

◆ m_store

ref WeaponDetachingMag_Store m_store
private

◆ m_swapMags

ref SwapOldAndNewMagazine m_swapMags
private

◆ m_type

string m_type
private

◆ m_w4sb2

ref LoopedChambering_Wait4ShowBullet2 m_w4sb2
private

◆ m_w4t [1/2]

ref WeaponChambering_W4T m_w4t
private

◆ m_w4t [2/2]

ref WeaponUnjamming_W4T m_w4t
private

◆ m_weapon


The documentation for this class was generated from the following files: