From 59308df25069e6eb4d5cad92b3c7708f3c09cd4d Mon Sep 17 00:00:00 2001 From: xxSeys1 Date: Sun, 18 May 2025 16:28:16 +0200 Subject: [PATCH] add shortcuts for viewflags and debug view modes --- Source/Editor/Options/InputOptions.cs | 192 ++++++++++++++++++++++- Source/Editor/Viewport/EditorViewport.cs | 153 ++++++++++++------ 2 files changed, 294 insertions(+), 51 deletions(-) diff --git a/Source/Editor/Options/InputOptions.cs b/Source/Editor/Options/InputOptions.cs index 5168e03d0d..b3cc933260 100644 --- a/Source/Editor/Options/InputOptions.cs +++ b/Source/Editor/Options/InputOptions.cs @@ -356,22 +356,206 @@ public sealed class InputOptions #endregion + #region Debug Views + + [DefaultValue(typeof(InputBinding), "Alt+Alpha4")] + [EditorDisplay("Debug Views"), EditorOrder(2000)] + public InputBinding Default = new InputBinding(KeyboardKeys.Alpha4, KeyboardKeys.Alt); + + [DefaultValue(typeof(InputBinding), "Alt+Alpha3")] + [EditorDisplay("Debug Views"), EditorOrder(2010)] + public InputBinding Unlit = new InputBinding(KeyboardKeys.Alpha3, KeyboardKeys.Alt); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("Debug Views"), EditorOrder(2020)] + public InputBinding NoPostFX = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "Alt+Alpha2")] + [EditorDisplay("Debug Views"), EditorOrder(2030)] + public InputBinding Wireframe = new InputBinding(KeyboardKeys.Alpha2, KeyboardKeys.Alt); + + [DefaultValue(typeof(InputBinding), "Alt+Alpha5")] + [EditorDisplay("Debug Views"), EditorOrder(2040)] + public InputBinding LightBuffer = new InputBinding(KeyboardKeys.Alpha5, KeyboardKeys.Alt); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("Debug Views"), EditorOrder(2050)] + public InputBinding ReflectionsBuffer = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("Debug Views"), EditorOrder(2060)] + public InputBinding DepthBuffer = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("Debug Views"), EditorOrder(2070)] + public InputBinding MotionVectors = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("Debug Views"), EditorOrder(2080)] + public InputBinding LightmapUVDensity = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("Debug Views"), EditorOrder(2090)] + public InputBinding VertexColors = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "Alt+Alpha1")] + [EditorDisplay("Debug Views"), EditorOrder(2100)] + public InputBinding PhysicsColliders = new InputBinding(KeyboardKeys.Alpha1, KeyboardKeys.Alt); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("Debug Views"), EditorOrder(2110)] + public InputBinding LODPreview = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("Debug Views"), EditorOrder(2120)] + public InputBinding MaterialComplexity = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("Debug Views"), EditorOrder(2130)] + public InputBinding QuadOverdraw = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("Debug Views"), EditorOrder(2140)] + public InputBinding GloablSDF = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("Debug Views"), EditorOrder(2150)] + public InputBinding GlobalSurfaceAtlas = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("Debug Views"), EditorOrder(2160)] + public InputBinding GlobalIllumination = new InputBinding(KeyboardKeys.None); + + #endregion + + #region View Flags + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3000)] + public InputBinding AntiAliasing = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3010)] + public InputBinding Shadows = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "Shift+Ctrl+Alpha7")] + [EditorDisplay("View Flags"), EditorOrder(3020)] + public InputBinding EditorSprites = new InputBinding(KeyboardKeys.Alpha7, KeyboardKeys.Control, KeyboardKeys.Shift); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3030)] + public InputBinding Reflections = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3040)] + public InputBinding ScreenSpaceReflections = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3050)] + public InputBinding AmbientOcclusion = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "Shift+Ctrl+Alpha6")] + [EditorDisplay("View Flags", "Global Illumination"), EditorOrder(3060)] + public InputBinding GlobalIlluminationViewFlag = new InputBinding(KeyboardKeys.Alpha6, KeyboardKeys.Control, KeyboardKeys.Shift); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3070)] + public InputBinding DirectionalLights = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3080)] + public InputBinding PointLights = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3090)] + public InputBinding SpotLights = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3100)] + public InputBinding SkyLights = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3110)] + public InputBinding Sky = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3120)] + public InputBinding Fog = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3130)] + public InputBinding SpecularLight = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3140)] + public InputBinding Decals = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "Shift+Ctrl+Alpha3")] + [EditorDisplay("View Flags"), EditorOrder(3150)] + public InputBinding CustomPostProcess = new InputBinding(KeyboardKeys.Alpha3, KeyboardKeys.Control, KeyboardKeys.Shift); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3160)] + public InputBinding Bloom = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3170)] + public InputBinding ToneMapping = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "Shift+Ctrl+Alpha2")] + [EditorDisplay("View Flags"), EditorOrder(3180)] + public InputBinding EyeAdaptation = new InputBinding(KeyboardKeys.Alpha2, KeyboardKeys.Control, KeyboardKeys.Shift); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3190)] + public InputBinding CameraArtifacts = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3200)] + public InputBinding LensFlares = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3210)] + public InputBinding DepthOfField = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3220)] + public InputBinding MotionBlur = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "None")] + [EditorDisplay("View Flags"), EditorOrder(3230)] + public InputBinding ContactShadows = new InputBinding(KeyboardKeys.None); + + [DefaultValue(typeof(InputBinding), "Shift+Ctrl+Alpha1")] + [EditorDisplay("View Flags"), EditorOrder(3240)] + public InputBinding PhysicsDebug = new InputBinding(KeyboardKeys.Alpha1, KeyboardKeys.Control, KeyboardKeys.Shift); + + [DefaultValue(typeof(InputBinding), "Shift+Ctrl+Alpha5")] + [EditorDisplay("View Flags"), EditorOrder(3250)] + public InputBinding LightsDebug = new InputBinding(KeyboardKeys.Alpha5, KeyboardKeys.Control, KeyboardKeys.Shift); + + [DefaultValue(typeof(InputBinding), "Shift+Ctrl+Alpha4")] + [EditorDisplay("View Flags"), EditorOrder(3260)] + public InputBinding DebugDraw = new InputBinding(KeyboardKeys.Alpha4, KeyboardKeys.Control, KeyboardKeys.Shift); + + #endregion + #region Interface [DefaultValue(typeof(InputBinding), "Ctrl+W")] - [EditorDisplay("Interface"), EditorOrder(2000)] + [EditorDisplay("Interface"), EditorOrder(3500)] public InputBinding CloseTab = new InputBinding(KeyboardKeys.W, KeyboardKeys.Control); [DefaultValue(typeof(InputBinding), "Ctrl+Tab")] - [EditorDisplay("Interface"), EditorOrder(2010)] + [EditorDisplay("Interface"), EditorOrder(3510)] public InputBinding NextTab = new InputBinding(KeyboardKeys.Tab, KeyboardKeys.Control); [DefaultValue(typeof(InputBinding), "Shift+Ctrl+Tab")] - [EditorDisplay("Interface"), EditorOrder(2020)] + [EditorDisplay("Interface"), EditorOrder(3520)] public InputBinding PreviousTab = new InputBinding(KeyboardKeys.Tab, KeyboardKeys.Control, KeyboardKeys.Shift); [DefaultValue(SceneNodeDoubleClick.Expand)] - [EditorDisplay("Interface"), EditorOrder(2030)] + [EditorDisplay("Interface"), EditorOrder(3530)] public SceneNodeDoubleClick DoubleClickSceneNode = SceneNodeDoubleClick.Expand; #endregion diff --git a/Source/Editor/Viewport/EditorViewport.cs b/Source/Editor/Viewport/EditorViewport.cs index eaf243726c..b2bf0f64e6 100644 --- a/Source/Editor/Viewport/EditorViewport.cs +++ b/Source/Editor/Viewport/EditorViewport.cs @@ -910,7 +910,7 @@ public EditorViewport(SceneRenderTask task, ViewportCamera camera, bool useWidge for (int i = 0; i < ViewFlagsValues.Length; i++) { var v = ViewFlagsValues[i]; - var button = viewFlags.AddButton(v.Name); + var button = viewFlags.AddButton(v.Name, v.InputBinding.ToString()); button.CloseMenuOnClick = false; button.Tag = v.Mode; } @@ -959,7 +959,7 @@ public EditorViewport(SceneRenderTask task, ViewportCamera camera, bool useWidge } else { - var button = debugView.AddButton(v.Name); + var button = debugView.AddButton(v.Name, v.InputBinding.ToString()); button.CloseMenuOnClick = false; button.Tag = v.Mode; } @@ -1005,16 +1005,64 @@ public EditorViewport(SceneRenderTask task, ViewportCamera camera, bool useWidge #endregion View mode widget } + // Viewpoints InputActions.Add(options => options.ViewpointTop, () => OrientViewport(Quaternion.Euler(CameraViewpointValues.First(vp => vp.Name == "Top").Orientation))); InputActions.Add(options => options.ViewpointBottom, () => OrientViewport(Quaternion.Euler(CameraViewpointValues.First(vp => vp.Name == "Bottom").Orientation))); InputActions.Add(options => options.ViewpointFront, () => OrientViewport(Quaternion.Euler(CameraViewpointValues.First(vp => vp.Name == "Front").Orientation))); InputActions.Add(options => options.ViewpointBack, () => OrientViewport(Quaternion.Euler(CameraViewpointValues.First(vp => vp.Name == "Back").Orientation))); InputActions.Add(options => options.ViewpointRight, () => OrientViewport(Quaternion.Euler(CameraViewpointValues.First(vp => vp.Name == "Right").Orientation))); InputActions.Add(options => options.ViewpointLeft, () => OrientViewport(Quaternion.Euler(CameraViewpointValues.First(vp => vp.Name == "Left").Orientation))); + // Editor camera InputActions.Add(options => options.CameraToggleRotation, () => _isVirtualMouseRightDown = !_isVirtualMouseRightDown); InputActions.Add(options => options.CameraIncreaseMoveSpeed, () => AdjustCameraMoveSpeed(1)); InputActions.Add(options => options.CameraDecreaseMoveSpeed, () => AdjustCameraMoveSpeed(-1)); InputActions.Add(options => options.ToggleOrthographic, () => OnOrthographicModeToggled(null)); + // Debug views + InputActions.Add(options => options.Default, () => Task.ViewMode = ViewMode.Default); + InputActions.Add(options => options.Unlit, () => Task.ViewMode = ViewMode.Unlit); + InputActions.Add(options => options.NoPostFX, () => Task.ViewMode = ViewMode.NoPostFx); + InputActions.Add(options => options.Wireframe, () => Task.ViewMode = ViewMode.Wireframe); + InputActions.Add(options => options.LightBuffer, () => Task.ViewMode = ViewMode.LightBuffer); + InputActions.Add(options => options.ReflectionsBuffer, () => Task.ViewMode = ViewMode.Reflections); + InputActions.Add(options => options.DepthBuffer, () => Task.ViewMode = ViewMode.Depth); + InputActions.Add(options => options.MotionVectors, () => Task.ViewMode = ViewMode.MotionVectors); + InputActions.Add(options => options.LightmapUVDensity, () => Task.ViewMode = ViewMode.LightmapUVsDensity); + InputActions.Add(options => options.VertexColors, () => Task.ViewMode = ViewMode.VertexColors); + InputActions.Add(options => options.PhysicsColliders, () => Task.ViewMode = ViewMode.PhysicsColliders); + InputActions.Add(options => options.LODPreview, () => Task.ViewMode = ViewMode.LODPreview); + InputActions.Add(options => options.MaterialComplexity, () => Task.ViewMode = ViewMode.MaterialComplexity); + InputActions.Add(options => options.QuadOverdraw, () => Task.ViewMode = ViewMode.QuadOverdraw); + InputActions.Add(options => options.GloablSDF, () => Task.ViewMode = ViewMode.GlobalSDF); + InputActions.Add(options => options.GlobalSurfaceAtlas, () => Task.ViewMode = ViewMode.GlobalSurfaceAtlas); + InputActions.Add(options => options.GlobalIllumination, () => Task.ViewMode = ViewMode.GlobalIllumination); + // View flags + InputActions.Add(options => options.AntiAliasing, () => Task.ViewFlags ^= ViewFlags.AntiAliasing); + InputActions.Add(options => options.Shadows, () => Task.ViewFlags ^= ViewFlags.Shadows); + InputActions.Add(options => options.EditorSprites, () => Task.ViewFlags ^= ViewFlags.EditorSprites); + InputActions.Add(options => options.Reflections, () => Task.ViewFlags ^= ViewFlags.Reflections); + InputActions.Add(options => options.ScreenSpaceReflections, () => Task.ViewFlags ^= ViewFlags.SSR); + InputActions.Add(options => options.AmbientOcclusion, () => Task.ViewFlags ^= ViewFlags.AO); + InputActions.Add(options => options.GlobalIllumination, () => Task.ViewFlags ^= ViewFlags.GI); + InputActions.Add(options => options.DirectionalLights, () => Task.ViewFlags ^= ViewFlags.DirectionalLights); + InputActions.Add(options => options.PointLights, () => Task.ViewFlags ^= ViewFlags.PointLights); + InputActions.Add(options => options.SpotLights, () => Task.ViewFlags ^= ViewFlags.SpotLights); + InputActions.Add(options => options.SkyLights, () => Task.ViewFlags ^= ViewFlags.SkyLights); + InputActions.Add(options => options.Sky, () => Task.ViewFlags ^= ViewFlags.Sky); + InputActions.Add(options => options.Fog, () => Task.ViewFlags ^= ViewFlags.Fog); + InputActions.Add(options => options.SpecularLight, () => Task.ViewFlags ^= ViewFlags.SpecularLight); + InputActions.Add(options => options.Decals, () => Task.ViewFlags ^= ViewFlags.Decals); + InputActions.Add(options => options.CustomPostProcess, () => Task.ViewFlags ^= ViewFlags.CustomPostProcess); + InputActions.Add(options => options.Bloom, () => Task.ViewFlags ^= ViewFlags.Bloom); + InputActions.Add(options => options.ToneMapping, () => Task.ViewFlags ^= ViewFlags.ToneMapping); + InputActions.Add(options => options.EyeAdaptation, () => Task.ViewFlags ^= ViewFlags.EyeAdaptation); + InputActions.Add(options => options.CameraArtifacts, () => Task.ViewFlags ^= ViewFlags.CameraArtifacts); + InputActions.Add(options => options.LensFlares, () => Task.ViewFlags ^= ViewFlags.LensFlares); + InputActions.Add(options => options.DepthOfField, () => Task.ViewFlags ^= ViewFlags.DepthOfField); + InputActions.Add(options => options.MotionBlur, () => Task.ViewFlags ^= ViewFlags.MotionBlur); + InputActions.Add(options => options.ContactShadows, () => Task.ViewFlags ^= ViewFlags.ContactShadows); + InputActions.Add(options => options.PhysicsDebug, () => Task.ViewFlags ^= ViewFlags.PhysicsDebug); + InputActions.Add(options => options.LightsDebug, () => Task.ViewFlags ^= ViewFlags.LightsDebug); + InputActions.Add(options => options.DebugDraw, () => Task.ViewFlags ^= ViewFlags.DebugDraw); // Link for task event task.Begin += OnRenderBegin; @@ -1933,8 +1981,17 @@ private struct ViewModeOptions { public readonly string Name; public readonly ViewMode Mode; + public readonly InputBinding InputBinding; public readonly ViewModeOptions[] Options; + public ViewModeOptions(ViewMode mode, string name, InputBinding inputBinding) + { + Mode = mode; + Name = name; + InputBinding = inputBinding; + Options = null; + } + public ViewModeOptions(ViewMode mode, string name) { Mode = mode; @@ -1952,13 +2009,13 @@ public ViewModeOptions(string name, ViewModeOptions[] options) private static readonly ViewModeOptions[] ViewModeValues = { - new ViewModeOptions(ViewMode.Default, "Default"), - new ViewModeOptions(ViewMode.Unlit, "Unlit"), - new ViewModeOptions(ViewMode.NoPostFx, "No PostFx"), - new ViewModeOptions(ViewMode.Wireframe, "Wireframe"), - new ViewModeOptions(ViewMode.LightBuffer, "Light Buffer"), - new ViewModeOptions(ViewMode.Reflections, "Reflections Buffer"), - new ViewModeOptions(ViewMode.Depth, "Depth Buffer"), + new ViewModeOptions(ViewMode.Default, "Default", Editor.Instance.Options.Options.Input.Default), + new ViewModeOptions(ViewMode.Unlit, "Unlit", Editor.Instance.Options.Options.Input.Unlit), + new ViewModeOptions(ViewMode.NoPostFx, "No PostFx", Editor.Instance.Options.Options.Input.NoPostFX), + new ViewModeOptions(ViewMode.Wireframe, "Wireframe", Editor.Instance.Options.Options.Input.Wireframe), + new ViewModeOptions(ViewMode.LightBuffer, "Light Buffer", Editor.Instance.Options.Options.Input.LightBuffer), + new ViewModeOptions(ViewMode.Reflections, "Reflections Buffer", Editor.Instance.Options.Options.Input.ReflectionsBuffer), + new ViewModeOptions(ViewMode.Depth, "Depth Buffer", Editor.Instance.Options.Options.Input.DepthBuffer), new ViewModeOptions("GBuffer", new[] { new ViewModeOptions(ViewMode.Diffuse, "Diffuse"), @@ -1972,16 +2029,16 @@ public ViewModeOptions(string name, ViewModeOptions[] options) new ViewModeOptions(ViewMode.Normals, "Normals"), new ViewModeOptions(ViewMode.AmbientOcclusion, "Ambient Occlusion"), }), - new ViewModeOptions(ViewMode.MotionVectors, "Motion Vectors"), - new ViewModeOptions(ViewMode.LightmapUVsDensity, "Lightmap UVs Density"), - new ViewModeOptions(ViewMode.VertexColors, "Vertex Colors"), - new ViewModeOptions(ViewMode.PhysicsColliders, "Physics Colliders"), - new ViewModeOptions(ViewMode.LODPreview, "LOD Preview"), - new ViewModeOptions(ViewMode.MaterialComplexity, "Material Complexity"), - new ViewModeOptions(ViewMode.QuadOverdraw, "Quad Overdraw"), - new ViewModeOptions(ViewMode.GlobalSDF, "Global SDF"), - new ViewModeOptions(ViewMode.GlobalSurfaceAtlas, "Global Surface Atlas"), - new ViewModeOptions(ViewMode.GlobalIllumination, "Global Illumination"), + new ViewModeOptions(ViewMode.MotionVectors, "Motion Vectors", Editor.Instance.Options.Options.Input.MotionVectors), + new ViewModeOptions(ViewMode.LightmapUVsDensity, "Lightmap UVs Density", Editor.Instance.Options.Options.Input.LightmapUVDensity), + new ViewModeOptions(ViewMode.VertexColors, "Vertex Colors", Editor.Instance.Options.Options.Input.VertexColors), + new ViewModeOptions(ViewMode.PhysicsColliders, "Physics Colliders", Editor.Instance.Options.Options.Input.PhysicsColliders), + new ViewModeOptions(ViewMode.LODPreview, "LOD Preview", Editor.Instance.Options.Options.Input.LODPreview), + new ViewModeOptions(ViewMode.MaterialComplexity, "Material Complexity", Editor.Instance.Options.Options.Input.MaterialComplexity), + new ViewModeOptions(ViewMode.QuadOverdraw, "Quad Overdraw", Editor.Instance.Options.Options.Input.QuadOverdraw), + new ViewModeOptions(ViewMode.GlobalSDF, "Global SDF", Editor.Instance.Options.Options.Input.GloablSDF), + new ViewModeOptions(ViewMode.GlobalSurfaceAtlas, "Global Surface Atlas", Editor.Instance.Options.Options.Input.GlobalSurfaceAtlas), + new ViewModeOptions(ViewMode.GlobalIllumination, "Global Illumination", Editor.Instance.Options.Options.Input.GlobalIllumination), }; private void WidgetViewModeShowHideClicked(ContextMenuButton button) @@ -2014,43 +2071,45 @@ private struct ViewFlagOptions { public readonly ViewFlags Mode; public readonly string Name; + public readonly InputBinding InputBinding; - public ViewFlagOptions(ViewFlags mode, string name) + public ViewFlagOptions(ViewFlags mode, string name, InputBinding inputBinding) { Mode = mode; Name = name; + InputBinding = inputBinding; } } private static readonly ViewFlagOptions[] ViewFlagsValues = { - new ViewFlagOptions(ViewFlags.AntiAliasing, "Anti Aliasing"), - new ViewFlagOptions(ViewFlags.Shadows, "Shadows"), - new ViewFlagOptions(ViewFlags.EditorSprites, "Editor Sprites"), - new ViewFlagOptions(ViewFlags.Reflections, "Reflections"), - new ViewFlagOptions(ViewFlags.SSR, "Screen Space Reflections"), - new ViewFlagOptions(ViewFlags.AO, "Ambient Occlusion"), - new ViewFlagOptions(ViewFlags.GI, "Global Illumination"), - new ViewFlagOptions(ViewFlags.DirectionalLights, "Directional Lights"), - new ViewFlagOptions(ViewFlags.PointLights, "Point Lights"), - new ViewFlagOptions(ViewFlags.SpotLights, "Spot Lights"), - new ViewFlagOptions(ViewFlags.SkyLights, "Sky Lights"), - new ViewFlagOptions(ViewFlags.Sky, "Sky"), - new ViewFlagOptions(ViewFlags.Fog, "Fog"), - new ViewFlagOptions(ViewFlags.SpecularLight, "Specular Light"), - new ViewFlagOptions(ViewFlags.Decals, "Decals"), - new ViewFlagOptions(ViewFlags.CustomPostProcess, "Custom Post Process"), - new ViewFlagOptions(ViewFlags.Bloom, "Bloom"), - new ViewFlagOptions(ViewFlags.ToneMapping, "Tone Mapping"), - new ViewFlagOptions(ViewFlags.EyeAdaptation, "Eye Adaptation"), - new ViewFlagOptions(ViewFlags.CameraArtifacts, "Camera Artifacts"), - new ViewFlagOptions(ViewFlags.LensFlares, "Lens Flares"), - new ViewFlagOptions(ViewFlags.DepthOfField, "Depth of Field"), - new ViewFlagOptions(ViewFlags.MotionBlur, "Motion Blur"), - new ViewFlagOptions(ViewFlags.ContactShadows, "Contact Shadows"), - new ViewFlagOptions(ViewFlags.PhysicsDebug, "Physics Debug"), - new ViewFlagOptions(ViewFlags.LightsDebug, "Lights Debug"), - new ViewFlagOptions(ViewFlags.DebugDraw, "Debug Draw"), + new ViewFlagOptions(ViewFlags.AntiAliasing, "Anti Aliasing", Editor.Instance.Options.Options.Input.AntiAliasing), + new ViewFlagOptions(ViewFlags.Shadows, "Shadows", Editor.Instance.Options.Options.Input.Shadows), + new ViewFlagOptions(ViewFlags.EditorSprites, "Editor Sprites", Editor.Instance.Options.Options.Input.EditorSprites), + new ViewFlagOptions(ViewFlags.Reflections, "Reflections", Editor.Instance.Options.Options.Input.Reflections), + new ViewFlagOptions(ViewFlags.SSR, "Screen Space Reflections", Editor.Instance.Options.Options.Input.ScreenSpaceReflections), + new ViewFlagOptions(ViewFlags.AO, "Ambient Occlusion", Editor.Instance.Options.Options.Input.AmbientOcclusion), + new ViewFlagOptions(ViewFlags.GI, "Global Illumination", Editor.Instance.Options.Options.Input.GlobalIlluminationViewFlag), + new ViewFlagOptions(ViewFlags.DirectionalLights, "Directional Lights", Editor.Instance.Options.Options.Input.DirectionalLights), + new ViewFlagOptions(ViewFlags.PointLights, "Point Lights", Editor.Instance.Options.Options.Input.PointLights), + new ViewFlagOptions(ViewFlags.SpotLights, "Spot Lights", Editor.Instance.Options.Options.Input.SpotLights), + new ViewFlagOptions(ViewFlags.SkyLights, "Sky Lights", Editor.Instance.Options.Options.Input.SkyLights), + new ViewFlagOptions(ViewFlags.Sky, "Sky", Editor.Instance.Options.Options.Input.Sky), + new ViewFlagOptions(ViewFlags.Fog, "Fog", Editor.Instance.Options.Options.Input.Fog), + new ViewFlagOptions(ViewFlags.SpecularLight, "Specular Light", Editor.Instance.Options.Options.Input.SpecularLight), + new ViewFlagOptions(ViewFlags.Decals, "Decals", Editor.Instance.Options.Options.Input.Decals), + new ViewFlagOptions(ViewFlags.CustomPostProcess, "Custom Post Process", Editor.Instance.Options.Options.Input.CustomPostProcess), + new ViewFlagOptions(ViewFlags.Bloom, "Bloom", Editor.Instance.Options.Options.Input.Bloom), + new ViewFlagOptions(ViewFlags.ToneMapping, "Tone Mapping", Editor.Instance.Options.Options.Input.ToneMapping), + new ViewFlagOptions(ViewFlags.EyeAdaptation, "Eye Adaptation", Editor.Instance.Options.Options.Input.EyeAdaptation), + new ViewFlagOptions(ViewFlags.CameraArtifacts, "Camera Artifacts", Editor.Instance.Options.Options.Input.CameraArtifacts), + new ViewFlagOptions(ViewFlags.LensFlares, "Lens Flares", Editor.Instance.Options.Options.Input.LensFlares), + new ViewFlagOptions(ViewFlags.DepthOfField, "Depth of Field", Editor.Instance.Options.Options.Input.DepthOfField), + new ViewFlagOptions(ViewFlags.MotionBlur, "Motion Blur", Editor.Instance.Options.Options.Input.MotionBlur), + new ViewFlagOptions(ViewFlags.ContactShadows, "Contact Shadows", Editor.Instance.Options.Options.Input.ContactShadows), + new ViewFlagOptions(ViewFlags.PhysicsDebug, "Physics Debug", Editor.Instance.Options.Options.Input.PhysicsDebug), + new ViewFlagOptions(ViewFlags.LightsDebug, "Lights Debug", Editor.Instance.Options.Options.Input.LightsDebug), + new ViewFlagOptions(ViewFlags.DebugDraw, "Debug Draw", Editor.Instance.Options.Options.Input.DebugDraw), }; private void WidgetViewFlagsShowHide(Control cm) pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy