Small optimization
This commit is contained in:
@@ -113,15 +113,18 @@ namespace FlaxEditor.Modules
|
|||||||
/// Open a prefab in a Prefab Editor
|
/// Open a prefab in a Prefab Editor
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>Whether the prefab was successfully opened in a Prefab Editor</returns>
|
/// <returns>Whether the prefab was successfully opened in a Prefab Editor</returns>
|
||||||
public bool OpenPrefab()
|
public bool OpenPrefab(Guid prefabID = default)
|
||||||
{
|
{
|
||||||
var selection = Editor.SceneEditing.Selection.Where(x => x is ActorNode actorNode && actorNode.HasPrefabLink).ToList().BuildNodesParents();
|
if(prefabID == Guid.Empty)
|
||||||
if (selection.Count == 0 || !((ActorNode)selection[0]).Actor.HasPrefabLink)
|
{
|
||||||
return false;
|
var selection = Editor.SceneEditing.Selection.Where(x => x is ActorNode actorNode && actorNode.HasPrefabLink).ToList().BuildNodesParents();
|
||||||
|
if (selection.Count == 0 || !((ActorNode)selection[0]).Actor.HasPrefabLink)
|
||||||
|
return false;
|
||||||
|
|
||||||
var prefabId = ((ActorNode)selection[0]).Actor.PrefabID;
|
prefabID = ((ActorNode)selection[0]).Actor.PrefabID;
|
||||||
var item = Editor.Instance.ContentDatabase.Find(prefabId);
|
}
|
||||||
|
|
||||||
|
var item = Editor.Instance.ContentDatabase.Find(prefabID);
|
||||||
if(item != null)
|
if(item != null)
|
||||||
{
|
{
|
||||||
Editor.Instance.ContentEditing.Open(item);
|
Editor.Instance.ContentEditing.Open(item);
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ namespace FlaxEditor.Windows
|
|||||||
bool hasPrefabLink = canEditScene && isSingleActorSelected && actorNode.HasPrefabLink;
|
bool hasPrefabLink = canEditScene && isSingleActorSelected && actorNode.HasPrefabLink;
|
||||||
if (hasPrefabLink)
|
if (hasPrefabLink)
|
||||||
{
|
{
|
||||||
contextMenu.AddButton("Open Prefab", () => Editor.Prefabs.OpenPrefab());
|
contextMenu.AddButton("Open Prefab", () => Editor.Prefabs.OpenPrefab(actorNode.Actor.PrefabID));
|
||||||
contextMenu.AddButton("Select Prefab", Editor.Prefabs.SelectPrefab);
|
contextMenu.AddButton("Select Prefab", Editor.Prefabs.SelectPrefab);
|
||||||
contextMenu.AddButton("Break Prefab Link", Editor.Prefabs.BreakLinks);
|
contextMenu.AddButton("Break Prefab Link", Editor.Prefabs.BreakLinks);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user