protected void TransitionToState(IActorState nextState) { Log(string.Format(Time.frameCount + " {0} Going from {1} to {2}", this, CurrentState.Name, nextState.Name), this); CurrentState.OnExit(); OnStateChangeEvent(CurrentState, nextState); nextState.OnEnter(); CurrentState = nextState; StateName = CurrentState.Name; }
protected virtual void Start() { CurrentState = CreateInitialState(); CurrentState.OnEnter(); StateName = CurrentState.Name; }