public void SetState(StateID stateID) { if (!states.ContainsKey (stateID)) { return; } if (currentState != null) { currentState.Leave(); } currentState = states [stateID]; currentState.Enter (); }