public void UpdateState(PlayerController controller) { PlayerStateValue newStateValue = currentState.checkTransitions(controller); if (newStateValue != PlayerStateValue.NOT_VALID) { currentStateValue = newStateValue; currentState = builder.getState(newStateValue); } }
public void AddStateAndTransition(PlayerStateValue state, Func <PlayerController, bool> transition) { statesWithTransitions.Add(state, transition); }
public PlayerState getState(PlayerStateValue stateValue) { return(stateValueToState[stateValue]); }
public PlayerStateMachine() { builder = new PlayerStateBuilder(); currentState = builder.getState(PlayerStateValue.WALK); currentStateValue = PlayerStateValue.WALK; }