Exemplo n.º 1
0
    public bool ChangeState(int newStateID)
    {
        VOState newState = getStateByID(newStateID);

        if (newState == null)
        {
            if (verbose == true)
            {
                Debug.Log("[STATE MACHINE] State " + newStateID + " not found!");
            }
            return(false);
        }

        if (canChangeTo(newStateID) == false)
        {
            if (verbose == true)
            {
                Debug.Log("[STATE MACHINE] Cannot change from state " + state.id + " to " + newStateID);
            }
            return(false);
        }

        lastState = state;
        state     = newState;

        lastState.exit();
        state.enter();
        if (verbose == true)
        {
            Debug.Log("[STATE MACHINE] State changed to " + state.id);
        }
        return(true);
    }
Exemplo n.º 2
0
    private VOState getStateByID(int stateID)
    {
        VOState ret = null;
        int     i;

        for (i = 0; i < states.Count; i++)
        {
            if (states[i].id == stateID)
            {
                ret = states[i];
            }
        }

        return(ret);
    }
Exemplo n.º 3
0
    public void SetInitialState(int initialStateID)
    {
        VOState initialState = getStateByID(initialStateID);

        if (initialState == null)
        {
            if (verbose == true)
            {
                Debug.Log("[STATE MACHINE] State " + initialStateID + " not found!");
            }
        }
        else
        {
            state = initialState;
            state.enter();
        }
    }
Exemplo n.º 4
0
 public bool StateIsEqualTo(VOState pState)
 {
     return(StateManager.StateIsEqualTo(pState));
 }
Exemplo n.º 5
0
 public void SetState(VOState pState)
 {
     StateManager.SetState(pState);
 }