public void PopState() { if (StateStack.Count > 0) { StateStack.RemoveAt(0); } if (StateStack.Count > 0) { var state = StateStack.ElementAt(0); NextState = state; NextState.OnEnter(); } }