public void UndoCommands(int numberToUndo) { while (numberToUndo > 0 && _undoStack.Count > 0) { RobotCommand command = _undoStack.Pop(); command.Undo(); numberToUndo--; } }
public void ExecuteCommands() { while (Commands.Count > 0) { RobotCommand command = Commands.Dequeue(); command.Execute(); if (command.HasExcecutedSuccesfully()) { _undoStack.Push(command); } } }