diff --git a/Source/Editor/GUI/Tree/Tree.cs b/Source/Editor/GUI/Tree/Tree.cs index e6add00cc..e36f0ccd5 100644 --- a/Source/Editor/GUI/Tree/Tree.cs +++ b/Source/Editor/GUI/Tree/Tree.cs @@ -67,6 +67,11 @@ namespace FlaxEditor.GUI.Tree /// Gets the first selected node or null. /// public TreeNode SelectedNode => Selection.Count > 0 ? Selection[0] : null; + + /// + /// Allow nodes to Draw the root tree line. + /// + public bool DrawRootTreeLine = true; /// /// Gets or sets the margin for the child tree nodes. diff --git a/Source/Editor/GUI/Tree/TreeNode.cs b/Source/Editor/GUI/Tree/TreeNode.cs index eb7f345cf..bed32e797 100644 --- a/Source/Editor/GUI/Tree/TreeNode.cs +++ b/Source/Editor/GUI/Tree/TreeNode.cs @@ -762,7 +762,7 @@ namespace FlaxEditor.GUI.Tree { TreeNode parentNode = Parent as TreeNode; bool thisNodeIsLast = false; - while (parentNode != null && parentNode != ParentTree.Children[0]) + while (parentNode != null && (parentNode != ParentTree.Children[0] || _tree.DrawRootTreeLine)) { float bottomOffset = 0; float topOffset = 0; @@ -773,7 +773,7 @@ namespace FlaxEditor.GUI.Tree if (thisNodeIsLast && parentNode.Children.Count == 1) bottomOffset = topOffset != 0 ? 4 : 2; - if (Parent == parentNode && this == Parent.Children[Parent.Children.Count - 1] && !_opened) + if (Parent == parentNode && this == Parent.Children[^1] && !_opened) { thisNodeIsLast = true; bottomOffset = topOffset != 0 ? 4 : 2; diff --git a/Source/Editor/Windows/Assets/PrefabWindow.Hierarchy.cs b/Source/Editor/Windows/Assets/PrefabWindow.Hierarchy.cs index 95e6b7a46..24854afb9 100644 --- a/Source/Editor/Windows/Assets/PrefabWindow.Hierarchy.cs +++ b/Source/Editor/Windows/Assets/PrefabWindow.Hierarchy.cs @@ -56,6 +56,7 @@ namespace FlaxEditor.Windows.Assets public PrefabTree() : base(true) { + DrawRootTreeLine = false; } } diff --git a/Source/Editor/Windows/SceneTreeWindow.cs b/Source/Editor/Windows/SceneTreeWindow.cs index 8ab07e9c4..705976e6e 100644 --- a/Source/Editor/Windows/SceneTreeWindow.cs +++ b/Source/Editor/Windows/SceneTreeWindow.cs @@ -85,6 +85,7 @@ namespace FlaxEditor.Windows { Margin = new Margin(0.0f, 0.0f, -16.0f, _sceneTreePanel.ScrollBarsSize), // Hide root node IsScrollable = true, + DrawRootTreeLine = false, }; _tree.AddChild(root.TreeNode); _tree.SelectedChanged += Tree_OnSelectedChanged;