Beispiel #1
0
    void HandleInput()
    {
        Command command = null;

        if (Input.GetKeyDown(KeyCode.W))
        {
            command = new MoveForwardCommand();
        }
        else if (Input.GetKeyDown(KeyCode.S))
        {
            command = new MoveBackwardCommand();
        }
        else if (Input.GetKeyDown(KeyCode.A))
        {
            command = new MoveLeftCommand();
        }
        else if (Input.GetKeyDown(KeyCode.D))
        {
            command = new MoveRightCommand();
        }
        else if (Input.GetKeyDown(KeyCode.Z))
        {
            Undo();
        }
        else if (Input.GetKeyDown(KeyCode.R))
        {
            Redo();
        }

        if (command != null)
        {
            undoCommands.Push(command);
            command.Execute(Box);
        }
    }
Beispiel #2
0
 // Start is called before the first frame update
 void Start()
 {
     commandSpace = new JumpCommand();
     commandA     = new MoveLeftCommand();
     commandS     = new MoveBackwardCommand();
     commandD     = new MoveRightCommand();
     commandW     = new MoveForwardCommand();
 }
        public void HoverCommand_ShouldExecuteClientMoveBackward()
        {
            // arrange
            moveBackwardCommand = new MoveBackwardCommand(DroneClientMock.Object);

            // act
            moveBackwardCommand.Execute();

            // assert
            DroneClientMock.Verify(x => x.MoveBackward(), Times.Once);
        }
Beispiel #4
0
        public Command CreateCommand(CommandType commandType)
        {
            Command command = null;

            switch (commandType)
            {
            case CommandType.Start:
                command = new StartCommand(drone);
                break;

            case CommandType.Stop:
                command = new StopCommand(drone);
                break;

            case CommandType.Configure:
                command = new ConfigureCommand(drone);
                break;

            case CommandType.MoveBackward:
                command = new MoveBackwardCommand(drone);
                break;

            case CommandType.MoveDown:
                command = new MoveDownCommand(drone);
                break;

            case CommandType.MoveForward:
                command = new MoveForwardCommand(drone);
                break;

            case CommandType.MoveLeft:
                command = new MoveLeftCommand(drone);
                break;

            case CommandType.MoveRight:
                command = new MoveRightCommand(drone);
                break;

            case CommandType.MoveUp:
                command = new MoveUpCommand(drone);
                break;

            case CommandType.Hover:
                command = new HoverCommand(drone);
                break;

            default:
                throw new ArgumentException("Invalid command type");
            }
            return(command);
        }