Beispiel #1
0
    private void HandleMixedBorderCrossing(MousePositionBorder mousePositionBorder)
    {
        switch (mousePositionBorder)
        {
        case MousePositionBorder.Right:
            if (Input.mousePosition.y < Screen.height / 2)
            {
                MoveRightOrLeft(GeneralMultiplier);
                break;
            }
            RotateRightOrLeft(1);
            break;

        case MousePositionBorder.Left:
            if (Input.mousePosition.y < Screen.height / 2)
            {
                MoveRightOrLeft(-GeneralMultiplier);
                break;
            }
            RotateRightOrLeft(-1);
            break;

        case MousePositionBorder.Top:
            MoveForwardOrBackward(GeneralMultiplier);
            break;

        case MousePositionBorder.Bottom:
            MoveForwardOrBackward(-GeneralMultiplier);
            break;

        default:
            break;
        }
    }
Beispiel #2
0
    private void HandleBorderCrossing()
    {
        #region Check mouse position border
        mousePositionBorder = MousePositionBorder.OnScreen;

        if (Input.mousePosition.x > Screen.width - CameraExtras.BorderStrength && Input.mousePosition.x < Screen.width + CameraExtras.BorderStrength * 10)
        {
            mousePositionBorder = MousePositionBorder.Right;
        }
        else if (Input.mousePosition.x < CameraExtras.BorderStrength && Input.mousePosition.x > -CameraExtras.BorderStrength * 10)
        {
            mousePositionBorder = MousePositionBorder.Left;
        }
        else if (Input.mousePosition.y > Screen.height - CameraExtras.BorderStrength && Input.mousePosition.y < Screen.height + CameraExtras.BorderStrength * 10)
        {
            mousePositionBorder = MousePositionBorder.Top;
        }
        else if (Input.mousePosition.y < CameraExtras.BorderStrength && Input.mousePosition.y > -CameraExtras.BorderStrength * 10)
        {
            mousePositionBorder = MousePositionBorder.Bottom;
        }
        #endregion

        if (mousePositionBorder == MousePositionBorder.OnScreen)
        {
            return;
        }

        if (CameraControlls.BorderCrossingAction == BorderCrossingActions.Mixed && CameraControlls.AllowRotation && CameraControlls.AllowMovement)
        {
            HandleMixedBorderCrossing(mousePositionBorder);
            return;
        }

        if (CameraControlls.BorderCrossingAction == BorderCrossingActions.Movement && CameraControlls.AllowMovement)
        {
            HandleMovementBorderCrossing(mousePositionBorder);
            return;
        }

        if (CameraControlls.BorderCrossingAction == BorderCrossingActions.Rotation && CameraControlls.AllowRotation)
        {
            HandleRotationBorderCrossing(mousePositionBorder);
            return;
        }
    }
Beispiel #3
0
    private void HandleRotationBorderCrossing(MousePositionBorder mousePositionBorder)
    {
        switch (mousePositionBorder)
        {
        case MousePositionBorder.Right:
            RotateRightOrLeft(1);
            break;

        case MousePositionBorder.Left:
            RotateRightOrLeft(-1);
            break;

        case MousePositionBorder.Top:
            RotateUpOrDown(1);
            break;

        case MousePositionBorder.Bottom:
            RotateUpOrDown(-1);
            break;

        default:
            break;
        }
    }
Beispiel #4
0
    private void HandleMovementBorderCrossing(MousePositionBorder mousePositionBorder)
    {
        switch (mousePositionBorder)
        {
        case MousePositionBorder.Right:
            MoveRightOrLeft(GeneralMultiplier);
            break;

        case MousePositionBorder.Left:
            MoveRightOrLeft(-GeneralMultiplier);
            break;

        case MousePositionBorder.Top:
            MoveForwardOrBackward(GeneralMultiplier);
            break;

        case MousePositionBorder.Bottom:
            MoveForwardOrBackward(-GeneralMultiplier);
            break;

        default:
            break;
        }
    }