diff --git a/Source/Editor/GUI/Popups/ScriptSearchPopup.cs b/Source/Editor/GUI/Popups/ScriptSearchPopup.cs index b771adff6..f56b07c2d 100644 --- a/Source/Editor/GUI/Popups/ScriptSearchPopup.cs +++ b/Source/Editor/GUI/Popups/ScriptSearchPopup.cs @@ -1,7 +1,6 @@ // Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. using System; -using FlaxEditor.Scripting; using FlaxEngine; using FlaxEngine.GUI; using FlaxEngine.Utilities; diff --git a/Source/Editor/Modules/ContentEditingModule.cs b/Source/Editor/Modules/ContentEditingModule.cs index 3db27af40..f1bb81ce1 100644 --- a/Source/Editor/Modules/ContentEditingModule.cs +++ b/Source/Editor/Modules/ContentEditingModule.cs @@ -19,6 +19,20 @@ namespace FlaxEditor.Modules { } + /// + /// Opens the specified asset in dedicated editor window. + /// + /// The asset. + /// True if disable automatic window showing. Used during workspace layout loading to deserialize it faster. + /// Opened window or null if cannot open item. + public EditorWindow Open(Asset asset, bool disableAutoShow = false) + { + if (asset == null) + throw new ArgumentNullException(); + var item = Editor.ContentDatabase.FindAsset(asset.ID); + return item != null ? Open(item) : null; + } + /// /// Opens the specified item in dedicated editor window. /// diff --git a/Source/Editor/Windows/Assets/VisualScriptWindow.cs b/Source/Editor/Windows/Assets/VisualScriptWindow.cs index ed20b591e..89a74c9e0 100644 --- a/Source/Editor/Windows/Assets/VisualScriptWindow.cs +++ b/Source/Editor/Windows/Assets/VisualScriptWindow.cs @@ -993,11 +993,7 @@ namespace FlaxEditor.Windows.Assets } } if (vsWindow == null) - { - var item = Editor.Instance.ContentDatabase.FindAsset(frame.Script.ID); - if (item != null) - vsWindow = Editor.Instance.ContentEditing.Open(item) as VisualScriptWindow; - } + vsWindow = Editor.Instance.ContentEditing.Open(frame.Script) as VisualScriptWindow; var node = vsWindow?.Surface.FindNode(frame.NodeId); _debugStepOutNodesIds.Add(new KeyValuePair(frame.Script, frame.NodeId)); if (node != null) diff --git a/Source/Editor/Windows/VisualScriptDebuggerWindow.cs b/Source/Editor/Windows/VisualScriptDebuggerWindow.cs index 330a3963b..c84a9ba33 100644 --- a/Source/Editor/Windows/VisualScriptDebuggerWindow.cs +++ b/Source/Editor/Windows/VisualScriptDebuggerWindow.cs @@ -7,7 +7,6 @@ using FlaxEditor.GUI; using FlaxEditor.GUI.ContextMenu; using FlaxEditor.GUI.Tabs; using FlaxEditor.GUI.Tree; -using FlaxEditor.Scripting; using FlaxEditor.Surface; using FlaxEditor.Windows.Assets; using FlaxEngine; @@ -63,11 +62,7 @@ namespace FlaxEditor.Windows } } if (vsWindow == null) - { - var item = Editor.Instance.ContentDatabase.FindAsset(nodeInfo.Script.ID); - if (item != null) - vsWindow = Editor.Instance.ContentEditing.Open(item) as VisualScriptWindow; - } + vsWindow = Editor.Instance.ContentEditing.Open(nodeInfo.Script) as VisualScriptWindow; return vsWindow?.Surface.FindNode(nodeInfo.NodeId); } return null;