public void ChangeState(FSMStat <T> NewState) { PreviousState = CurrentState; if (PreviousState != null) { //Debug.Log(Owner + "EXITED STATE: " + PreviousState); PreviousState.Exit(); } //Debug.Log(Owner + "ENTERED STATE: " + NewState); CurrentState = NewState; CurrentState.Enter(Owner); }
public void Awake() { CurrentState = null; PreviousState = null; }
public void Initialize(T owner, FSMStat <T> InitialState) { Owner = owner; ChangeState(InitialState); }