public void ChangeState(State <T> state) { if (currentState != null) { currentState.Exit(); } currentState = state; currentState.Enter(); }
public void ChangeState(State <T> newState) { if (m_pCurrentState != null) { Log.Print("entity:{0} [{1}]->[{2}]", m_entity.GetID(), m_pCurrentState?.GetName(), newState.GetName()); m_pPreState = m_pCurrentState; m_pCurrentState.Exit(m_entity); m_pCurrentState = newState; m_pCurrentState.Enter(m_entity); } }
public void ChangeState <T>() where T : State, new() { if (_current != null) { _current.Exit(); } _current = _states[typeof(T)]; UnityEngine.Debug.Log($"Change State {typeof(T)}"); _current.Enter(); }
public void ChangeState(State <TContext> newState) { if (newState == null) { return; } if (CurrentState != null) { CurrentState.Exit(); } CurrentState = newState; CurrentState.Enter(); }