/// <inheritdoc/> protected override void BuildContextMenu(ref Menu menu, bool extendedMenu) { menu.Add("Debug Mode+/Off", "Disable Debug Mode For All Inspected Targets", inspector.DisableDebugMode, !inspector.State.DebugMode); menu.Add("Debug Mode+/On", "Enable Debug Mode For All Inspected Targets", inspector.EnableDebugMode, inspector.State.DebugMode); menu.AddSeparatorIfNotRedundant(); menu.Add("Multi-Editing/Merged", EnableMergedMultiEditMode, UserSettings.MergedMultiEditMode); menu.Add("Multi-Editing/Stacked", DisableMergedMultiEditMode, !UserSettings.MergedMultiEditMode); menu.Add("Help/Documentation", PowerInspectorDocumentation.Show); menu.Add("Help/Forum", OpenUrlFromContextMenu, "https://forum.unity.com/threads/released-power-inspector-full-inspector-overhaul.736022/"); menu.AddSeparator("Help/"); menu.Add("Help/Toolbar/Toolbar", PowerInspectorDocumentation.ShowFeature, "toolbar"); menu.Add("Help/Toolbar/Back And Forward Buttons", PowerInspectorDocumentation.ShowFeature, "back-and-forward-buttons"); menu.Add("Help/Toolbar/View Menu", PowerInspectorDocumentation.ShowFeature, "view-menu"); menu.Add("Help/Toolbar/Search Box", PowerInspectorDocumentation.ShowFeature, "search-box"); menu.Add("Help/Toolbar/Split View", PowerInspectorDocumentation.ShowFeature, "split-view"); menu.Add("Help/Features/Copy-Paste", PowerInspectorDocumentation.ShowFeature, "copy-paste"); menu.Add("Help/Features/Reset", PowerInspectorDocumentation.ShowFeature, "reset"); menu.Add("Help/Features/Context Menu", PowerInspectorDocumentation.ShowFeature, "context-menu-items"); menu.Add("Help/Features/Debug Mode+", PowerInspectorDocumentation.ShowFeature, "debug-mode"); menu.Add("Help/Features/Display Anything", PowerInspectorDocumentation.ShowFeature, "display-anything"); menu.Add("Help/Features/Hierarchy Folders", PowerInspectorDocumentation.ShowFeature, "hierarchy-folders"); menu.Add("Help/View Modes/Target Window", PowerInspectorDocumentation.ShowFeature, "target-window"); menu.Add("Help/View Modes/Multi-Editing Modes", PowerInspectorDocumentation.ShowFeature, "multi-editing-modes"); var rootDrawer = inspector.State.drawers.Members; for (int n = 0, count = rootDrawer.Length; n < count; n++) { var root = rootDrawer[n] as IRootDrawer; if (root != null) { root.AddItemsToOpeningViewMenu(ref menu); //break; //UPDATE: multiple drawers adding items to the menu should now be supported } } menu.AddSeparator(); menu.Add("Preferences", PowerInspectorPreferences.OpenIfNotOpenAndFocus); menu.AddSeparator(); menu.MoveCategoryToBottom("Help/"); menu.AddSeparator("Help/"); menu.Add("Help/Troubleshooting/Troubleshooting Documentation", PowerInspectorDocumentation.Show, "category/troubleshooting/"); menu.Add("Help/Troubleshooting/Issue Tracker", OpenUrlFromContextMenu, "https://github.com/SisusCo/Power-Inspector/issues"); #if UNITY_EDITOR if (extendedMenu) { menu.AddSeparator(); var windows = Resources.FindObjectsOfTypeAll <UnityEditor.EditorWindow>(); var self = inspector.InspectorDrawer as UnityEditor.EditorWindow; menu.Add("EditorWindow Debugger/this (" + self.GetType().Name + ")", () => PowerInspectorWindowUtility.OpenNewWindow(self, true, false)); for (int n = windows.Length - 1; n >= 0; n--) { var window = windows[n]; if (window == self) { continue; } menu.AddEvenIfDuplicate("EditorWindow Debugger/" + window.GetType().Name, () => { inspector.State.ViewIsLocked = true; inspector.RebuildDrawers(ArrayPool <UnityEngine.Object> .CreateWithContent(window), true); }); } } #endif }
static PowerInspectorWindowToUtilityAttacher() { PowerInspectorWindowUtility.RegisterCreateNewWindowDelegate(PowerInspectorWindow.CreateNew); }