} // end Update public void PerformTransition(ICharacterState state) { if (null != currentState) { currentState.DoBeforeLeaving(); } // end if currentState = state; if (null != currentState) { currentState.DoBeforeEntering(); } } // end PerformTransition