DIFF

class HandStateBaseSource

represent hand state base

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

Constructors 1

void HandStateBase(Man player = NULL, HandStateBase parent = NULL)
References m_parentState, and m_Player

Members 3

HandStateBase m_parentState

hierarchical parent state of this state (or null)

Methods 14

void SetParentState(HandStateBase parent)

allows construction of hierarchical state machine

References m_parentState
HandStateBase GetParentState()

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

References m_parentState
bool HasFSM()
References m_FSM
HandFSM GetFSM()
References m_FSM
bool ProcessEvent(HandEventBase e)
void AddTransition(HandTransition t)

adds transition into m_FSM transition table

References HFSMBase.AddTransition(), Error(), HasFSM()
Show 1 more, m_FSM
void OnUpdate(float dt)

ongoing behavior, performed while being in the state

@NOTE: this is supposed to be the Do() operation in UML speak

References HFSMBase.GetCurrentState(), HasFSM(), HFSMBase.IsRunning()
Show 2 more, OnUpdate(), and m_FSM
bool IsWaitingForActionFinish()

waiting for active animation action/actionType finish

Returns: true if this state is waiting for finish signal

References HFSMBase.GetCurrentState(), HasFSM(), HFSMBase.IsRunning()
Show 2 more, IsWaitingForActionFinish(), and m_FSM
bool IsIdle()

idle state does not expect any animation events

Returns: true if this state is idle

void OnSubMachineChanged(HandStateBase src, HandStateBase dst)

called when sub-machine has changed its state

in src
from state (previous)
in dst
to state (current)
void OnStateChanged(HandStateBase src, HandStateBase dst)

called on current state when state machine has changed its state

in src
from state (previous)
in dst
to state (current)