public static void OnSettingsUI(UIHelper helper) { helper.AddButton("Reset all settings", () => { MainWindow.Instance.Config = new ModConfiguration(); foreach (HotKey hotkey in Hotkeys) { hotkey.ResetToDefault(); } SaveConfig(); }); helper.AddCheckbox("Scale to resolution", Config.ScaleToResolution, val => { Config.ScaleToResolution = val; SaveConfig(); }); var debugRendererIncludeAll = helper.AddCheckbox( "Debug renderer excludes UI components that do not respond to mouse", Config.DebugRendererExcludeUninteractive, val => { Config.DebugRendererExcludeUninteractive = val; SaveConfig(); }) as UIComponent; debugRendererIncludeAll.tooltip = "their children will be shown either way."; var debugRendererAutoTurnOff = helper.AddCheckbox( "Automatically turn off debug renderer", Config.DebugRendererAutoTurnOff, val => { Config.DebugRendererAutoTurnOff = val; SaveConfig(); }) as UIComponent; debugRendererAutoTurnOff.tooltip = "turns off debug render when user shows UI component in scene explorer"; helper.AddSlider2( "UI Scale", 25, 400, 10, Config.UIScale * 100, val => { if (Config.UIScale != val) { Config.UIScale = val * 0.01f; SaveConfig(); } return("%" + val); }); var g = helper.AddGroup("Hot Keys"); var keymappings = g.Panel().gameObject.AddComponent <UIKeymappingsPanel>(); keymappings.AddKeymapping("Selection Tool", SelectionToolKey); keymappings.AddKeymapping("Debug Console", ConsoleKey); keymappings.AddKeymapping("Main window", MainWindowKey); keymappings.AddKeymapping("Watches", WatchesKey); keymappings.AddKeymapping("Script Editor", ScriptEditorKey); keymappings.AddKeymapping("Scene Explorer", SceneExplorerKey); keymappings.AddKeymapping("Debug Renderer", DebugRendererKey); keymappings.AddKeymapping("Debug Renderer\\show in SceneExplorer", ShowComponentKey); keymappings.AddKeymapping("Debug Renderer\\iterate", IterateComponentKey); }