From fa441abf5cb40a07a37d5a365f660624f6d0e38d Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Fri, 8 Oct 2021 14:39:21 +0200 Subject: [PATCH] Add option *Select actors using this asset* to content menu --- Source/Editor/Modules/ContentEditingModule.cs | 26 +--------------- Source/Editor/Modules/WindowsModule.cs | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+), 25 deletions(-) diff --git a/Source/Editor/Modules/ContentEditingModule.cs b/Source/Editor/Modules/ContentEditingModule.cs index 563143fc5..f9d6e825c 100644 --- a/Source/Editor/Modules/ContentEditingModule.cs +++ b/Source/Editor/Modules/ContentEditingModule.cs @@ -57,31 +57,7 @@ namespace FlaxEditor.Modules } if (window != null && !disableAutoShow) { - var newLocation = (DockState)Editor.Options.Options.Interface.NewWindowLocation; - if (newLocation == DockState.Float) - { - // Check if there is a floating window that has the same size - Vector2 defaultSize = window.DefaultSize; - for (var i = 0; i < Editor.UI.MasterPanel.FloatingPanels.Count; i++) - { - var win = Editor.UI.MasterPanel.FloatingPanels[i]; - - // Check if size is similar - if (Vector2.Abs(win.Size - defaultSize).LengthSquared < 100) - { - // Dock - window.Show(DockState.DockFill, win); - window.Focus(); - return window; - } - } - - window.ShowFloating(defaultSize); - } - else - { - window.Show(newLocation); - } + Editor.Windows.Open(window); } return window; diff --git a/Source/Editor/Modules/WindowsModule.cs b/Source/Editor/Modules/WindowsModule.cs index e1d1a6753..80714924d 100644 --- a/Source/Editor/Modules/WindowsModule.cs +++ b/Source/Editor/Modules/WindowsModule.cs @@ -665,6 +665,36 @@ namespace FlaxEditor.Modules } } + /// + /// Opens the specified editor window (shows it with editor options handling for new windows). + /// + /// The window. + public void Open(EditorWindow window) + { + var newLocation = (DockState)Editor.Options.Options.Interface.NewWindowLocation; + if (newLocation == DockState.Float) + { + // Check if there is a floating window that has the same size + Vector2 defaultSize = window.DefaultSize; + for (var i = 0; i < Editor.UI.MasterPanel.FloatingPanels.Count; i++) + { + var win = Editor.UI.MasterPanel.FloatingPanels[i]; + if (Vector2.Abs(win.Size - defaultSize).LengthSquared < 100) + { + window.Show(DockState.DockFill, win); + window.Focus(); + return; + } + } + + window.ShowFloating(defaultSize); + } + else + { + window.Show(newLocation); + } + } + /// /// Gets that is represented by the given serialized typename. Used to restore workspace layout. ///