From 436697601599bb3a3ba20ef4b918c38731819fb3 Mon Sep 17 00:00:00 2001 From: Chandler Cox Date: Fri, 23 May 2025 13:27:01 -0500 Subject: [PATCH] Add better prefab diff viewing naming for actors --- .../CustomEditors/Dedicated/ActorEditor.cs | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/Source/Editor/CustomEditors/Dedicated/ActorEditor.cs b/Source/Editor/CustomEditors/Dedicated/ActorEditor.cs index 062aeeedd..8c238c060 100644 --- a/Source/Editor/CustomEditors/Dedicated/ActorEditor.cs +++ b/Source/Editor/CustomEditors/Dedicated/ActorEditor.cs @@ -257,8 +257,17 @@ namespace FlaxEditor.CustomEditors.Dedicated // Actor or Script else if (editor.Values[0] is SceneObject sceneObject) { - node.TextColor = sceneObject.HasPrefabLink ? FlaxEngine.GUI.Style.Current.ProgressNormal : FlaxEngine.GUI.Style.Current.BackgroundSelected; - node.Text = Utilities.Utils.GetPropertyNameUI(sceneObject.GetType().Name); + if (editor.Values.Info != ScriptMemberInfo.Null) + { + 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)}"; + } + else if (sceneObject is Actor actor) + node.Text = $"{actor.Name} ({Utilities.Utils.GetPropertyNameUI(sceneObject.GetType().Name)})"; + else + node.Text = Utilities.Utils.GetPropertyNameUI(sceneObject.GetType().Name); } // Array Item else if (editor.ParentEditor is CollectionEditor) @@ -268,7 +277,12 @@ namespace FlaxEditor.CustomEditors.Dedicated // Common type else if (editor.Values.Info != ScriptMemberInfo.Null) { - node.Text = Utilities.Utils.GetPropertyNameUI(editor.Values.Info.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 + node.Text = Utilities.Utils.GetPropertyNameUI(editor.Values.Info.Name); } // Custom type else if (editor.Values[0] != null)