Beispiel #1
0
    public void Advance(Transition trans)
    {
        StateID id;

        if (currentState.TryTransition(trans, out id))
        {
            // Reset the state to its desired condition before it can reason or act
            currentState.OnExit();

            // Update the currentState
            currentState = states[id];
            currentState.OnEnter();
            currentState.Do();
        }
    }
Beispiel #2
0
 public void DoState()
 {
     m_currentState.CheckCondition(m_Data);
     m_currentState.Do(m_Data);
 }