Add double clicking an object reference in a prefab to select the actor within the prefab.
This commit is contained in:
@@ -345,10 +345,19 @@ namespace FlaxEditor.CustomEditors.Editors
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_linkedTreeNode = Editor.Instance.Scene.GetActorNode(actor).TreeNode;
|
if (PresenterContext is PropertiesWindow)
|
||||||
_linkedTreeNode.ExpandAllParents();
|
_linkedTreeNode = Editor.Instance.Scene.GetActorNode(actor).TreeNode;
|
||||||
Editor.Instance.Windows.SceneWin.SceneTreePanel.ScrollViewTo(_linkedTreeNode, true);
|
else if (PresenterContext is PrefabWindow prefabWindow)
|
||||||
_linkedTreeNode.StartHighlight();
|
_linkedTreeNode = prefabWindow.Graph.Root.Find(actor).TreeNode;
|
||||||
|
if (_linkedTreeNode != null)
|
||||||
|
{
|
||||||
|
_linkedTreeNode.ExpandAllParents();
|
||||||
|
if (PresenterContext is PropertiesWindow)
|
||||||
|
Editor.Instance.Windows.SceneWin.SceneTreePanel.ScrollViewTo(_linkedTreeNode, true);
|
||||||
|
else if (PresenterContext is PrefabWindow prefabWindow)
|
||||||
|
(prefabWindow.Tree.Parent as Panel).ScrollViewTo(_linkedTreeNode, true);
|
||||||
|
_linkedTreeNode.StartHighlight();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -391,9 +400,20 @@ namespace FlaxEditor.CustomEditors.Editors
|
|||||||
|
|
||||||
// Select object
|
// Select object
|
||||||
if (_value is Actor actor)
|
if (_value is Actor actor)
|
||||||
Editor.Instance.SceneEditing.Select(actor);
|
{
|
||||||
|
if (PresenterContext is PropertiesWindow)
|
||||||
|
Editor.Instance.SceneEditing.Select(actor);
|
||||||
|
else if (PresenterContext is PrefabWindow prefabWindow)
|
||||||
|
prefabWindow.Select(prefabWindow.Graph.Root.Find(actor));
|
||||||
|
}
|
||||||
else if (_value is Script script && script.Actor)
|
else if (_value is Script script && script.Actor)
|
||||||
Editor.Instance.SceneEditing.Select(script.Actor);
|
{
|
||||||
|
var a = script.Actor;
|
||||||
|
if (PresenterContext is PropertiesWindow)
|
||||||
|
Editor.Instance.SceneEditing.Select(a);
|
||||||
|
else if (PresenterContext is PrefabWindow prefabWindow)
|
||||||
|
prefabWindow.Select(prefabWindow.Graph.Root.Find(a));
|
||||||
|
}
|
||||||
else if (_value is Asset asset)
|
else if (_value is Asset asset)
|
||||||
Editor.Instance.Windows.ContentWin.Select(asset);
|
Editor.Instance.Windows.ContentWin.Select(asset);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user