24 void SetParentState (
BotStateBase parent) { m_ParentState = parent; }
30 bool HasFSM () {
return m_FSM != NULL; }
31 BotFSM GetFSM () {
return m_FSM; }
36 return m_FSM.ProcessEvent(e);
46 m_FSM.AddTransition(t);
48 Error(
"[botfsm] adding transition to state without FSM. Configure FSM first.");
59 if (HasFSM() && !m_FSM.IsRunning())
73 void OnUpdate (
float dt)
75 if (HasFSM() && m_FSM.IsRunning())
76 m_FSM.GetCurrentState().OnUpdate(dt);
85 if (HasFSM() && m_FSM.IsRunning())
106 bool IsWaitingForActionFinish () {
return HasFSM() && m_FSM.IsRunning() && m_FSM.GetCurrentState().IsWaitingForActionFinish(); }
112 bool IsIdle () {
return false; }
133 override bool IsIdle () {
return true; }
void botDebugPrint(string s)
represents event that triggers transition from state to state
Bot Finite State Machine (Hierarchical)
represent weapon state base
represents transition src -— event[guard]/action -—|> dst
void Error(string err)
Messagebox with error message.
HandStateEquipped OnEntry
enum ProcessDirectDamageFlags m_Owner
class WeaponChambering_Chamber_OnEntry extends WeaponChambering_Base OnExit