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; } }
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; } }
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; } }
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; } }