Ejemplo n.º 1
0
    public void UpdateState(PlayerController controller)
    {
        PlayerStateValue newStateValue = currentState.checkTransitions(controller);

        if (newStateValue != PlayerStateValue.NOT_VALID)
        {
            currentStateValue = newStateValue;
            currentState      = builder.getState(newStateValue);
        }
    }
Ejemplo n.º 2
0
 public void AddStateAndTransition(PlayerStateValue state, Func <PlayerController, bool> transition)
 {
     statesWithTransitions.Add(state, transition);
 }
Ejemplo n.º 3
0
 public PlayerState getState(PlayerStateValue stateValue)
 {
     return(stateValueToState[stateValue]);
 }
Ejemplo n.º 4
0
 public PlayerStateMachine()
 {
     builder           = new PlayerStateBuilder();
     currentState      = builder.getState(PlayerStateValue.WALK);
     currentStateValue = PlayerStateValue.WALK;
 }