Simplify code around assets editing and selecting in Editor
This commit is contained in:
@@ -168,8 +168,7 @@ namespace FlaxEditor.CustomEditors.Dedicated
|
||||
var actor = (Actor)Values[0];
|
||||
var scriptType = TypeUtils.GetType(actor.TypeName);
|
||||
var item = scriptType.ContentItem;
|
||||
if (item != null)
|
||||
Editor.Instance.ContentEditing.Open(item);
|
||||
Editor.Instance.ContentEditing.Open(item);
|
||||
}
|
||||
|
||||
private void OnClickShowActorType()
|
||||
@@ -177,8 +176,7 @@ namespace FlaxEditor.CustomEditors.Dedicated
|
||||
var actor = (Actor)Values[0];
|
||||
var scriptType = TypeUtils.GetType(actor.TypeName);
|
||||
var item = scriptType.ContentItem;
|
||||
if (item != null)
|
||||
Editor.Instance.Windows.ContentWin.Select(item);
|
||||
Editor.Instance.Windows.ContentWin.Select(item);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
|
||||
@@ -1044,9 +1044,7 @@ namespace FlaxEditor.CustomEditors.Dedicated
|
||||
{
|
||||
var script = (Script)button.ParentContextMenu.Tag;
|
||||
var scriptType = TypeUtils.GetType(script.TypeName);
|
||||
var item = scriptType.ContentItem;
|
||||
if (item != null)
|
||||
Editor.Instance.ContentEditing.Open(item);
|
||||
Editor.Instance.ContentEditing.Open(scriptType.ContentItem);
|
||||
}
|
||||
|
||||
private void OnClickShowScript(ContextMenuButton button)
|
||||
@@ -1054,8 +1052,7 @@ namespace FlaxEditor.CustomEditors.Dedicated
|
||||
var script = (Script)button.ParentContextMenu.Tag;
|
||||
var scriptType = TypeUtils.GetType(script.TypeName);
|
||||
var item = scriptType.ContentItem;
|
||||
if (item != null)
|
||||
Editor.Instance.Windows.ContentWin.Select(item);
|
||||
Editor.Instance.Windows.ContentWin.Select(item);
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
|
||||
@@ -235,9 +235,7 @@ namespace FlaxEditor.CustomEditors.Editors
|
||||
// Navigate to types from game project
|
||||
if (button == MouseButton.Left && _value != ScriptType.Null)
|
||||
{
|
||||
var item = _value.ContentItem;
|
||||
if (item != null)
|
||||
Editor.Instance.ContentEditing.Open(item);
|
||||
Editor.Instance.ContentEditing.Open(_value.ContentItem);
|
||||
}
|
||||
|
||||
return base.OnMouseDoubleClick(location, button);
|
||||
|
||||
@@ -347,7 +347,6 @@ namespace FlaxEditor.GUI
|
||||
Editor.Instance.ContentEditing.Open(Validator.SelectedItem);
|
||||
}
|
||||
|
||||
// Handled
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace FlaxEditor.Modules
|
||||
public EditorWindow Open(ContentItem item, bool disableAutoShow = false)
|
||||
{
|
||||
if (item == null)
|
||||
throw new ArgumentNullException();
|
||||
return null;
|
||||
|
||||
// Check if any window is already editing this item
|
||||
var window = Editor.Windows.FindEditor(item);
|
||||
|
||||
@@ -128,8 +128,7 @@ namespace FlaxEditor.Modules
|
||||
}
|
||||
|
||||
var item = Editor.ContentDatabase.Find(prefabID);
|
||||
if (item != null)
|
||||
Editor.ContentEditing.Open(item);
|
||||
Editor.ContentEditing.Open(item);
|
||||
}
|
||||
|
||||
private void OnPrefabCreated(ContentItem contentItem, Actor actor, Windows.Assets.PrefabWindow prefabWindow)
|
||||
|
||||
@@ -706,12 +706,7 @@ namespace FlaxEditor.Modules
|
||||
_menuCreateParentForSelectedActors = cm.AddButton("Parent to new Actor", inputOptions.GroupSelectedActors, Editor.SceneEditing.CreateParentForSelectedActors);
|
||||
_menuEditFind = cm.AddButton("Find", inputOptions.Search, Editor.Windows.SceneWin.Search);
|
||||
cm.AddSeparator();
|
||||
cm.AddButton("Game Settings", () =>
|
||||
{
|
||||
var item = Editor.ContentDatabase.Find(GameSettings.GameSettingsAssetPath);
|
||||
if (item != null)
|
||||
Editor.ContentEditing.Open(item);
|
||||
});
|
||||
cm.AddButton("Game Settings", () => Editor.ContentEditing.Open(Editor.ContentDatabase.Find(GameSettings.GameSettingsAssetPath)));
|
||||
cm.AddButton("Editor Options", inputOptions.EditorOptionsWindow, () => Editor.Windows.EditorOptionsWin.Show());
|
||||
|
||||
// Scene
|
||||
@@ -729,16 +724,13 @@ namespace FlaxEditor.Modules
|
||||
MenuGame = MainMenu.AddButton("Game");
|
||||
cm = MenuGame.ContextMenu;
|
||||
cm.VisibleChanged += OnMenuGameShowHide;
|
||||
|
||||
_menuGamePlayGame = cm.AddButton("Play Game", inputOptions.Play, Editor.Simulation.RequestPlayGameOrStopPlay);
|
||||
_menuGamePlayCurrentScenes = cm.AddButton("Play Current Scenes", inputOptions.PlayCurrentScenes, Editor.Simulation.RequestPlayScenesOrStopPlay);
|
||||
_menuGameStop = cm.AddButton("Stop Game", inputOptions.Play, Editor.Simulation.RequestStopPlay);
|
||||
_menuGamePause = cm.AddButton("Pause", inputOptions.Pause, Editor.Simulation.RequestPausePlay);
|
||||
|
||||
cm.AddSeparator();
|
||||
var numberOfClientsMenu = cm.AddChildMenu("Number of game clients");
|
||||
_numberOfClientsGroup.AddItemsToContextMenu(numberOfClientsMenu.ContextMenu);
|
||||
|
||||
cm.AddSeparator();
|
||||
_menuGameCookAndRun = cm.AddButton("Cook & Run", inputOptions.CookAndRun, Editor.Windows.GameCookerWin.BuildAndRun);
|
||||
_menuGameCookAndRun.LinkTooltip("Runs Game Cooker to build the game for this platform and runs the game after.");
|
||||
|
||||
@@ -743,12 +743,8 @@ namespace FlaxEditor.Modules
|
||||
// Check if it's an asset ID
|
||||
if (Guid.TryParse(typename, out Guid id))
|
||||
{
|
||||
var el = Editor.ContentDatabase.Find(id);
|
||||
if (el != null)
|
||||
{
|
||||
// Open asset
|
||||
return Editor.ContentEditing.Open(el, true);
|
||||
}
|
||||
// Open asset
|
||||
return Editor.ContentEditing.Open(Editor.ContentDatabase.Find(id), true);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
||||
@@ -1131,25 +1131,22 @@ namespace FlaxEditor.Surface.Archetypes
|
||||
// Open function content item if exists
|
||||
var method = GetMethod(out var scriptType, out _, out _);
|
||||
var item = scriptType.ContentItem;
|
||||
if (item != null)
|
||||
{
|
||||
var window = Editor.Instance.ContentEditing.Open(item);
|
||||
var window = Editor.Instance.ContentEditing.Open(item);
|
||||
|
||||
// Focus method
|
||||
if (window is VisualScriptWindow vsWindow && method)
|
||||
// Focus method
|
||||
if (window is VisualScriptWindow vsWindow && method)
|
||||
{
|
||||
foreach (var node in vsWindow.Surface.Nodes)
|
||||
{
|
||||
foreach (var node in vsWindow.Surface.Nodes)
|
||||
if (node is VisualScriptFunctionNode functionNode &&
|
||||
method.Name == functionNode._signature.Name &&
|
||||
((method.ParametersCount == 0 && functionNode._signature.Parameters == null) || method.ParametersCount == functionNode._signature.Parameters.Length) &&
|
||||
method.IsVirtual == functionNode._signature.IsVirtual &&
|
||||
method.IsStatic == functionNode._signature.IsStatic &&
|
||||
method.ValueType == functionNode._signature.ReturnType)
|
||||
{
|
||||
if (node is VisualScriptFunctionNode functionNode &&
|
||||
method.Name == functionNode._signature.Name &&
|
||||
((method.ParametersCount == 0 && functionNode._signature.Parameters == null) || method.ParametersCount == functionNode._signature.Parameters.Length) &&
|
||||
method.IsVirtual == functionNode._signature.IsVirtual &&
|
||||
method.IsStatic == functionNode._signature.IsStatic &&
|
||||
method.ValueType == functionNode._signature.ReturnType)
|
||||
{
|
||||
vsWindow.ShowNode(node);
|
||||
break;
|
||||
}
|
||||
vsWindow.ShowNode(node);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -309,14 +309,8 @@ namespace FlaxEditor.Windows.Assets
|
||||
_optionsCM.AddSeparator();
|
||||
if (_optionsButton.Tag is ContentItem item)
|
||||
{
|
||||
_optionsCM.AddButton("Edit asset code", () =>
|
||||
{
|
||||
Editor.Instance.ContentEditing.Open(item);
|
||||
});
|
||||
_optionsCM.AddButton("Show asset code item in content window", () =>
|
||||
{
|
||||
Editor.Instance.Windows.ContentWin.Select(item);
|
||||
});
|
||||
_optionsCM.AddButton("Edit asset code", () => Editor.Instance.ContentEditing.Open(item));
|
||||
_optionsCM.AddButton("Show asset code item in content window", () => Editor.Instance.Windows.ContentWin.Select(item));
|
||||
}
|
||||
|
||||
_optionsCM.Show(_optionsButton, _optionsButton.PointFromScreen(Input.MouseScreenPosition));
|
||||
|
||||
@@ -766,15 +766,12 @@ namespace FlaxEditor.Windows.Assets
|
||||
{
|
||||
_debugStepOutNodesIds.Clear();
|
||||
var item = Editor.ContentDatabase.Find(flowInfo.Script.ID);
|
||||
if (item != null)
|
||||
var editor = Editor.ContentEditing.Open(item);
|
||||
if (editor is VisualScriptWindow vsWindow)
|
||||
{
|
||||
var editor = Editor.ContentEditing.Open(item);
|
||||
if (editor is VisualScriptWindow vsWindow)
|
||||
{
|
||||
lock (vsWindow._debugFlows)
|
||||
vsWindow._debugFlows.Add(flowInfo);
|
||||
vsWindow.OnDebugBreakpointHit(ref flowInfo, vsWindow.Surface.FindNode(flowInfo.NodeId));
|
||||
}
|
||||
lock (vsWindow._debugFlows)
|
||||
vsWindow._debugFlows.Add(flowInfo);
|
||||
vsWindow.OnDebugBreakpointHit(ref flowInfo, vsWindow.Surface.FindNode(flowInfo.NodeId));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1129,8 +1129,7 @@ namespace FlaxEditor.Windows
|
||||
throw new ArgumentNullException();
|
||||
|
||||
var item = Editor.ContentDatabase.Find(asset.ID);
|
||||
if (item != null)
|
||||
Select(item);
|
||||
Select(item);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1142,8 +1141,7 @@ namespace FlaxEditor.Windows
|
||||
public void Select(ContentItem item, bool fastScroll = false, bool additive = false)
|
||||
{
|
||||
if (item == null)
|
||||
throw new ArgumentNullException();
|
||||
|
||||
return;
|
||||
if (!_navigationUnlocked)
|
||||
return;
|
||||
var parent = item.ParentFolder;
|
||||
|
||||
@@ -279,8 +279,7 @@ namespace FlaxEditor.Windows.Profiler
|
||||
{
|
||||
var assetId = (Guid)row.Tag;
|
||||
var assetItem = Editor.Instance.ContentDatabase.FindAsset(assetId);
|
||||
if (assetItem != null)
|
||||
Editor.Instance.ContentEditing.Open(assetItem);
|
||||
Editor.Instance.ContentEditing.Open(assetItem);
|
||||
}
|
||||
|
||||
private void OnRowRightClick(ClickableRow row)
|
||||
|
||||
@@ -613,8 +613,7 @@ namespace FlaxEditor.Windows.Profiler
|
||||
{
|
||||
var e = (Resource)row.Tag;
|
||||
var assetItem = Editor.Instance.ContentDatabase.FindAsset(e.AssetId);
|
||||
if (assetItem != null)
|
||||
Editor.Instance.ContentEditing.Open(assetItem);
|
||||
Editor.Instance.ContentEditing.Open(assetItem);
|
||||
}
|
||||
|
||||
private void ShowResourcePanel(bool visible = true)
|
||||
|
||||
Reference in New Issue
Block a user