public void ChangeState(State nextState) { if (CurrentState != null) { CurrentState.Exit(m_owner); m_previousState = CurrentState; CurrentState = nextState; CurrentState.Enter(m_owner); } }