private void InitializeState(State state) { Type type = state.GetType(); state.Initialize(this); _stateDict.Add(type, state); }
/// <summary> /// Set current state and call states on enter and exit method /// </summary> /// <param name="state">State to enter</param> public void SetState(State state) { if (CurrentState != null) { CurrentState.OnStateExit(); } PreviousState = CurrentState; CurrentState = state; gameObject.name = "State - " + state.GetType().Name; if (CurrentState != null) { CurrentState.OnStateEnter(); } }