diff --git a/Source/Editor/CustomEditors/Dedicated/ModelPrefabEditor.cs b/Source/Editor/CustomEditors/Dedicated/ModelPrefabEditor.cs index fbb817768..3df5cb72e 100644 --- a/Source/Editor/CustomEditors/Dedicated/ModelPrefabEditor.cs +++ b/Source/Editor/CustomEditors/Dedicated/ModelPrefabEditor.cs @@ -53,6 +53,9 @@ public class ModelPrefabEditor : GenericEditor } } + // Creates the import path UI + Utilities.Utils.CreateImportPathUI(layout, modelPrefab.ImportPath, false); + var button = layout.Button("Reimport", "Reimports the source asset as prefab."); _reimportButton = button.Button; _reimportButton.Clicked += OnReimport; diff --git a/Source/Editor/Utilities/Utils.cs b/Source/Editor/Utilities/Utils.cs index 43d81ee1e..db824857a 100644 --- a/Source/Editor/Utilities/Utils.cs +++ b/Source/Editor/Utilities/Utils.cs @@ -391,10 +391,22 @@ namespace FlaxEditor.Utilities public static void CreateImportPathUI(CustomEditors.LayoutElementsContainer parentLayout, Content.BinaryAssetItem assetItem) { assetItem.GetImportPath(out var path); + CreateImportPathUI(parentLayout, path); + } + + /// + /// Creates an Import path ui that show the import path and adds a button to show the folder in the file system. + /// + /// The parent layout container. + /// The import path. + /// Whether to use an initial layout space of 5 for separation. + public static void CreateImportPathUI(CustomEditors.LayoutElementsContainer parentLayout, string path, bool useInitialSpacing = true) + { if (!string.IsNullOrEmpty(path)) { - parentLayout.Space(5); - parentLayout.Label("Import Path:"); + if (useInitialSpacing) + parentLayout.Space(5); + parentLayout.Label("Import Path:").Label.TooltipText = "Source asset path (can be relative or absolute to the project)"; var textBox = parentLayout.TextBox().TextBox; textBox.TooltipText = "Path is not editable here."; textBox.IsReadOnly = true; diff --git a/Source/Editor/Windows/Assets/AudioClipWindow.cs b/Source/Editor/Windows/Assets/AudioClipWindow.cs index 87638f8e0..35072620b 100644 --- a/Source/Editor/Windows/Assets/AudioClipWindow.cs +++ b/Source/Editor/Windows/Assets/AudioClipWindow.cs @@ -104,7 +104,7 @@ namespace FlaxEditor.Windows.Assets // Creates the import path UI Utilities.Utils.CreateImportPathUI(layout, window.Item as BinaryAssetItem); - layout.Space(10); + layout.Space(5); var reimportButton = layout.Button("Reimport"); reimportButton.Button.Clicked += () => ((PropertiesProxy)Values[0]).Reimport(); } diff --git a/Source/Editor/Windows/Assets/CubeTextureWindow.cs b/Source/Editor/Windows/Assets/CubeTextureWindow.cs index 63c697ef2..960d806d2 100644 --- a/Source/Editor/Windows/Assets/CubeTextureWindow.cs +++ b/Source/Editor/Windows/Assets/CubeTextureWindow.cs @@ -57,7 +57,7 @@ namespace FlaxEditor.Windows.Assets // Creates the import path UI Utilities.Utils.CreateImportPathUI(layout, window.Item as BinaryAssetItem); - layout.Space(10); + layout.Space(5); var reimportButton = layout.Button("Reimport"); reimportButton.Button.Clicked += () => ((PropertiesProxy)Values[0]).Reimport(); } diff --git a/Source/Editor/Windows/Assets/SpriteAtlasWindow.cs b/Source/Editor/Windows/Assets/SpriteAtlasWindow.cs index cbcecf1df..167a86f41 100644 --- a/Source/Editor/Windows/Assets/SpriteAtlasWindow.cs +++ b/Source/Editor/Windows/Assets/SpriteAtlasWindow.cs @@ -123,7 +123,7 @@ namespace FlaxEditor.Windows.Assets // Creates the import path UI Utilities.Utils.CreateImportPathUI(layout, proxy._window.Item as BinaryAssetItem); - layout.Space(10); + layout.Space(5); var reimportButton = layout.Button("Reimport"); reimportButton.Button.Clicked += () => ((PropertiesProxy)Values[0]).Reimport(); } diff --git a/Source/Editor/Windows/Assets/TextureWindow.cs b/Source/Editor/Windows/Assets/TextureWindow.cs index 43c499f6e..894c0d352 100644 --- a/Source/Editor/Windows/Assets/TextureWindow.cs +++ b/Source/Editor/Windows/Assets/TextureWindow.cs @@ -149,7 +149,7 @@ namespace FlaxEditor.Windows.Assets Utilities.Utils.CreateImportPathUI(layout, proxy._window.Item as BinaryAssetItem); // Reimport - layout.Space(10); + layout.Space(5); var reimportButton = layout.Button("Reimport"); reimportButton.Button.Clicked += () => ((ImportPropertiesProxy)Values[0]).Reimport(); } diff --git a/Source/Engine/Level/Scripts/ModelPrefab.h b/Source/Engine/Level/Scripts/ModelPrefab.h index 0adf0edea..fd6b66097 100644 --- a/Source/Engine/Level/Scripts/ModelPrefab.h +++ b/Source/Engine/Level/Scripts/ModelPrefab.h @@ -19,7 +19,7 @@ API_CLASS(Attributes="HideInEditor") class FLAXENGINE_API ModelPrefab : public S /// /// Source model file path (absolute or relative to the project). /// - API_FIELD(Attributes="ReadOnly") String ImportPath; + API_FIELD(Attributes="ReadOnly, HideInEditor") String ImportPath; /// /// Model file import settings.