예제 #1
0
        public void RedoAction()
        {
            var objectDropperEvent = RedoQueue.Pop();

            objectDropperEvent.Redo();
            UndoQueue.Push(objectDropperEvent);
        }
예제 #2
0
        public void UndoLastCommand()
        {
            if (_UndoQueue.Count == 0 && this.previousTurns.Count > 0)
            {
                this.StartTurn(this.previousTurns.Pop());
            }

            if (_UndoQueue.Count > 0)
            {
                ICommand command = _UndoQueue.Pop();
                command.Undo();
                _RedoQueue.Push(command);

                CallListenersForCommand(command);
            }
        }
예제 #3
0
 private void RunCommand(ICommand command)
 {
     command.Do();
     _UndoQueue.Push(command);
     CallListenersForCommand(command);
 }
예제 #4
0
 public void AddNewAction(ObjectDropperEvent objectDropperEvent)
 {
     UndoQueue.Push(objectDropperEvent);
 }