// '' <summary>
    // '' Handles user input for the Deployment phase of the game.
    // '' </summary>
    // '' <remarks>
    // '' Involves selecting the ships, deloying ships, changing the direction
    // '' of the ships to add, randomising deployment, end then ending
    // '' deployment
    // '' </remarks>
    public static void HandleDeploymentInput()
    {
        if (SwinGame.KeyTyped(KeyCode.vk_ESCAPE))
        {
            GameController.AddNewState(GameState.ViewingGameMenu);
        }

        if ((SwinGame.KeyTyped(KeyCode.vk_UP) || SwinGame.KeyTyped(KeyCode.vk_DOWN)))
        {
            _currentDirection = Direction.UpDown;
        }

        if ((SwinGame.KeyTyped(KeyCode.vk_LEFT) || SwinGame.KeyTyped(KeyCode.vk_RIGHT)))
        {
            _currentDirection = Direction.LeftRight;
        }

        if (SwinGame.KeyTyped(KeyCode.vk_r))
        {
            HumanPlayer.RandomizeDeployment();
        }

        if (SwinGame.MouseClicked(MouseButton.LeftButton))
        {
            ShipName selected;
            selected = DeploymentController.GetShipMouseIsOver();
            if ((selected != ShipName.None))
            {
                _selectedShip = selected;
            }
            else
            {
                DeploymentController.DoDeployClick();
            }

            if ((HumanPlayer.ReadyToDeploy && UtilityFunctions.IsMouseInRectangle(PLAY_BUTTON_LEFT, TOP_BUTTONS_TOP, PLAY_BUTTON_WIDTH, TOP_BUTTONS_HEIGHT)))
            {
                EndingGameController.EndDeployment();
            }
            else if (UtilityFunctions.IsMouseInRectangle(UP_DOWN_BUTTON_LEFT, TOP_BUTTONS_TOP, DIR_BUTTONS_WIDTH, TOP_BUTTONS_HEIGHT))
            {
                _currentDirection = Direction.LeftRight;
            }
            else if (UtilityFunctions.IsMouseInRectangle(LEFT_RIGHT_BUTTON_LEFT, TOP_BUTTONS_TOP, DIR_BUTTONS_WIDTH, TOP_BUTTONS_HEIGHT))
            {
                _currentDirection = Direction.LeftRight;
            }
            else if (UtilityFunctions.IsMouseInRectangle(RANDOM_BUTTON_LEFT, TOP_BUTTONS_TOP, RANDOM_BUTTON_WIDTH, TOP_BUTTONS_HEIGHT))
            {
                HumanPlayer.RandomizeDeployment();
            }
        }
    }