diff --git a/Source/Editor/CustomEditors/Dedicated/ActorEditor.cs b/Source/Editor/CustomEditors/Dedicated/ActorEditor.cs index f627c5ceb..0c17cf9fa 100644 --- a/Source/Editor/CustomEditors/Dedicated/ActorEditor.cs +++ b/Source/Editor/CustomEditors/Dedicated/ActorEditor.cs @@ -9,7 +9,6 @@ using FlaxEditor.CustomEditors.Elements; using FlaxEditor.GUI; using FlaxEditor.GUI.ContextMenu; using FlaxEditor.GUI.Tree; -using FlaxEditor.Modules; using FlaxEditor.Scripting; using FlaxEditor.Windows; using FlaxEditor.Windows.Assets; @@ -263,7 +262,7 @@ namespace FlaxEditor.CustomEditors.Dedicated if (editor.Values.GetAttributes().FirstOrDefault(x => x is EditorDisplayAttribute) is EditorDisplayAttribute editorDisplayAttribute && !string.IsNullOrEmpty(editorDisplayAttribute.Name)) node.Text = $"{Utilities.Utils.GetPropertyNameUI(editorDisplayAttribute.Name)} ({Utilities.Utils.GetPropertyNameUI(editor.Values.Info.Name)})"; else - node.Text = $"{Utilities.Utils.GetPropertyNameUI(editor.Values.Info.Name)}"; + node.Text = Utilities.Utils.GetPropertyNameUI(editor.Values.Info.Name); } else if (sceneObject is Actor actor) node.Text = $"{actor.Name} ({Utilities.Utils.GetPropertyNameUI(sceneObject.GetType().Name)})"; @@ -278,8 +277,8 @@ namespace FlaxEditor.CustomEditors.Dedicated // Common type else if (editor.Values.Info != ScriptMemberInfo.Null) { - if (editor.Values.GetAttributes().FirstOrDefault(x => x is EditorDisplayAttribute) is EditorDisplayAttribute editorDisplayAttribute - && !string.IsNullOrEmpty(editorDisplayAttribute.Name) + if (editor.Values.GetAttributes().FirstOrDefault(x => x is EditorDisplayAttribute) is EditorDisplayAttribute editorDisplayAttribute + && !string.IsNullOrEmpty(editorDisplayAttribute.Name) && !editorDisplayAttribute.Name.Contains("_inline")) node.Text = $"{Utilities.Utils.GetPropertyNameUI(editorDisplayAttribute.Name)} ({Utilities.Utils.GetPropertyNameUI(editor.Values.Info.Name)})"; else @@ -406,7 +405,7 @@ namespace FlaxEditor.CustomEditors.Dedicated var presenter = new CustomEditorPresenter(null); var layout = new CustomElementsContainer(); var rootNode = CreateDiffTree(rootActor, presenter, layout); - + // Skip if no changes detected if (rootNode == null) { @@ -415,7 +414,7 @@ namespace FlaxEditor.CustomEditors.Dedicated cm1.Show(target, targetLocation); return; } - + // Create context menu var cm = new PrefabDiffContextMenu(); cm.Tree.AddChild(rootNode); diff --git a/Source/Editor/GUI/Tree/TreeNode.cs b/Source/Editor/GUI/Tree/TreeNode.cs index bed32e797..40c276bf4 100644 --- a/Source/Editor/GUI/Tree/TreeNode.cs +++ b/Source/Editor/GUI/Tree/TreeNode.cs @@ -760,20 +760,21 @@ namespace FlaxEditor.GUI.Tree // Show tree guidelines if (Editor.Instance.Options.Options.Interface.ShowTreeLines) { - TreeNode parentNode = Parent as TreeNode; + ContainerControl parent = Parent; + TreeNode parentNode = parent as TreeNode; bool thisNodeIsLast = false; - while (parentNode != null && (parentNode != ParentTree.Children[0] || _tree.DrawRootTreeLine)) + while (parentNode != null && (parentNode != tree.Children[0] || tree.DrawRootTreeLine)) { float bottomOffset = 0; float topOffset = 0; - if (Parent == parentNode && this == Parent.Children[0]) + if (parent == parentNode && this == parent.Children[0]) topOffset = 2; if (thisNodeIsLast && parentNode.Children.Count == 1) bottomOffset = topOffset != 0 ? 4 : 2; - if (Parent == parentNode && this == Parent.Children[^1] && !_opened) + if (parent == parentNode && this == parent.Children[^1] && !_opened) { thisNodeIsLast = true; bottomOffset = topOffset != 0 ? 4 : 2; @@ -784,6 +785,8 @@ namespace FlaxEditor.GUI.Tree if (_iconCollaped.IsValid) leftOffset += 18; var lineRect1 = new Rectangle(parentNode.TextRect.Left - leftOffset, parentNode.HeaderRect.Top + topOffset, 1, parentNode.HeaderRect.Height - bottomOffset); + if (HasAnyVisibleChild && CustomArrowRect.HasValue && CustomArrowRect.Value.Intersects(lineRect1)) + lineRect1 = Rectangle.Empty; // Skip drawing line if it's overlapping the arrow rectangle Render2D.FillRectangle(lineRect1, isSelected ? style.ForegroundGrey : style.LightBackground); parentNode = parentNode.Parent as TreeNode; } diff --git a/Source/Editor/Windows/ContentWindow.cs b/Source/Editor/Windows/ContentWindow.cs index f63db04bd..cf33d0b63 100644 --- a/Source/Editor/Windows/ContentWindow.cs +++ b/Source/Editor/Windows/ContentWindow.cs @@ -204,6 +204,7 @@ namespace FlaxEditor.Windows // Content structure tree _tree = new Tree(false) { + DrawRootTreeLine = false, Parent = _contentTreePanel, }; _tree.SelectedChanged += OnTreeSelectionChanged;