55 {
57 {
59 {
60 if (LogManager.IsWeaponLogEnable()) {
wpnDebugSpam(
"[wpnfsm] " +
Object.GetDebugName(
m_weapon) +
" WeaponStateBase::LoadCurrentFSMState - idle state, skipping other substates"); }
61 if (
m_fsm.LoadCurrentFSMState(ctx, version))
62 return true;
63 else
64 Error(
"[wpnfsm] " +
Object.GetDebugName(
m_weapon) +
" WeaponStateBase::LoadCurrentFSMState - Cannot load stable state for weapon=" +
this);
65 }
66 else
67 {
68
69 if (LogManager.IsWeaponLogEnable()) {
wpnDebugSpam(
"[wpnfsm] " +
Object.GetDebugName(
m_weapon) +
" WeaponStateBase::LoadCurrentFSMState - NOT idle state, loading full submachine state"); }
70 if (
m_fsm.LoadCurrentUnstableFSMState(ctx, version))
71 return true;
72 else
73 Error(
"[wpnfsm] " +
Object.GetDebugName(
m_weapon) +
" WeaponStateBase::LoadCurrentFSMState - Cannot load unstable state for weapon=" +
this);
74 }
75 return false;
76 }
77 return true;
78 }
void wpnDebugSpam(string s)
bool IsIdle()
idle state does not expect any animation events
ref WeaponFSM m_fsm
hierarchical parent state of this state (or null)
void Error(string err)
Messagebox with error message.