public void ChangeState(IPlayerState state) { _state.ExitState(this); _state = null; // delete old state (not sure if this works?) _state = state; _state.EnterState(this); }