private void Movement() { if (currentAction == null) { if (actionList.Count > 0) { currentAction = actionList.Dequeue(); currentAction.Start(); } } else { currentAction.Update(); if (currentAction.IsDone()) { currentAction.End(); currentAction = null; } } }