Ignore Translate/Rotate/Scale/TransformSpace hotkeys while holding RMB.

Allows to use industry standard WER hotkeys for transformations and not change modes while navigating through level.
This commit is contained in:
Roman Zhuravlev
2024-07-21 22:25:25 +02:00
parent d879b8e064
commit a580d6785f

View File

@@ -360,11 +360,36 @@ namespace FlaxEditor.Viewport
};
// Setup input actions
viewport.InputActions.Add(options => options.TranslateMode, () => transformGizmo.ActiveMode = TransformGizmoBase.Mode.Translate);
viewport.InputActions.Add(options => options.RotateMode, () => transformGizmo.ActiveMode = TransformGizmoBase.Mode.Rotate);
viewport.InputActions.Add(options => options.ScaleMode, () => transformGizmo.ActiveMode = TransformGizmoBase.Mode.Scale);
viewport.InputActions.Add(options => options.TranslateMode, () =>
{
viewport.GetInput(out var input);
if (input.IsMouseRightDown)
return;
transformGizmo.ActiveMode = TransformGizmoBase.Mode.Translate;
});
viewport.InputActions.Add(options => options.RotateMode, () =>
{
viewport.GetInput(out var input);
if (input.IsMouseRightDown)
return;
transformGizmo.ActiveMode = TransformGizmoBase.Mode.Rotate;
});
viewport.InputActions.Add(options => options.ScaleMode, () =>
{
viewport.GetInput(out var input);
if (input.IsMouseRightDown)
return;
transformGizmo.ActiveMode = TransformGizmoBase.Mode.Scale;
});
viewport.InputActions.Add(options => options.ToggleTransformSpace, () =>
{
viewport.GetInput(out var input);
if (input.IsMouseRightDown)
return;
transformGizmo.ToggleTransformSpace();
if (useProjectCache)
editor.ProjectCache.SetCustomData("TransformSpaceState", transformGizmo.ActiveTransformSpace.ToString());