void Update() { if (currentState != currentState.GetNextState()) { currentState.End(); currentState = currentState.GetNextState(); currentState.Start(); } currentState.Update(); }