28 return m_FSM.ProcessEvent(e);
38 m_FSM.AddTransition(t);
40 Error(
"[hndfsm] adding transition to state without FSM. Configure FSM first.");
84 m_FSM.GetCurrentState().OnUpdate(dt);
137 m_Player.GetHumanInventory().OnHandsStateChanged(src, dst);
void hndDebugPrint(string s)
FSMTransition< HandStateBase, HandEventBase, HandActionBase, HandGuardBase > HandTransition
Abstracted event, not to be used, only inherited.
Hand finite state machine.
void OnSubMachineChanged(HandStateBase src, HandStateBase dst)
called when sub-machine has changed its state
HandStateBase GetParentState()
void AddTransition(HandTransition t)
adds transition into m_FSM transition table
void HandStateBase(Man player=NULL, HandStateBase parent=NULL)
nested state machine (or null)
bool ProcessEvent(HandEventBase e)
bool IsWaitingForActionFinish()
void SetParentState(HandStateBase parent)
allows construction of hierarchical state machine
void OnStateChanged(HandStateBase src, HandStateBase dst)
called on current state when state machine has changed its state
void OnExit(HandEventBase e)
ref HandFSM m_FSM
hierarchical parent state of this state (or null)
HandStateBase m_parentState
entity that this state relates to
void OnEntry(HandEventBase e)
void OnAbort(HandEventBase e)
represent hand state base
static bool IsInventoryHFSMLogEnable()
void Error(string err)
Messagebox with error message.