Use wheel option, and tweaks/fixes.

This commit is contained in:
Jean-Baptiste Perrier
2021-02-27 23:38:56 +01:00
parent 39e41d8528
commit 89538cb5cd

View File

@@ -994,6 +994,7 @@ namespace FlaxEditor.Viewport
var options = Editor.Instance.Options.Options.Input;
if (_isControllingMouse)
{
var rmbWheel = false;
// Gather input
{
bool isAltDown = _input.IsAltDown;
@@ -1009,10 +1010,11 @@ namespace FlaxEditor.Viewport
_input.IsOrbiting = isAltDown && lbDown && !mbDown && !rbDown;
// Control move speed with RMB+Wheel
if (useMovementSpeed && _input.IsMouseRightDown && wheelInUse)
rmbWheel = useMovementSpeed && _input.IsMouseRightDown && wheelInUse;
if (rmbWheel)
{
float step = 4.0f;
_wheelMovementChangeDeltaSum += _input.MouseWheelDelta;
_wheelMovementChangeDeltaSum += _input.MouseWheelDelta * Editor.Instance.Options.Options.Viewport.MouseWheelSensitivity;
int camValueIndex = -1;
for (int i = 0; i < EditorViewportCameraSpeedValues.Length; i++)
{
@@ -1076,7 +1078,7 @@ namespace FlaxEditor.Viewport
// Calculate smooth mouse delta not dependant on viewport size
Vector2 offset = _viewMousePos - _startPos;
if (_input.IsZooming && !_input.IsMouseRightDown && !_input.IsMouseLeftDown && !_input.IsMouseMiddleDown)
if (_input.IsZooming && !_input.IsMouseRightDown && !_input.IsMouseLeftDown && !_input.IsMouseMiddleDown && !_isOrtho && !rmbWheel)
{
offset = Vector2.Zero;
}
@@ -1127,11 +1129,11 @@ namespace FlaxEditor.Viewport
}
// Change Ortho size on mouse scroll
if (_isOrtho)
if (_isOrtho && !rmbWheel)
{
var scroll = FlaxEngine.Input.MouseScrollDelta;
if (scroll != 0)
_orthoSize -= scroll * 0.2f * _orthoSize;
var scroll = _input.MouseWheelDelta;
if (scroll > Mathf.Epsilon || scroll < -Mathf.Epsilon)
_orthoSize -= scroll * Editor.Instance.Options.Options.Viewport.MouseWheelSensitivity * 0.2f * _orthoSize;
}
}
else