diff --git a/UnityProject/Assets/Editor/UIScriptGenerator/ScriptGenerator.cs b/UnityProject/Assets/Editor/UIScriptGenerator/ScriptGenerator.cs index e28a4991..89bffc7e 100644 --- a/UnityProject/Assets/Editor/UIScriptGenerator/ScriptGenerator.cs +++ b/UnityProject/Assets/Editor/UIScriptGenerator/ScriptGenerator.cs @@ -60,8 +60,18 @@ namespace TEngine.Editor.UI strFile.Append("using TEngine;\n\n"); strFile.Append($"namespace {ScriptGeneratorSetting.GetUINameSpace()}\n"); strFile.Append("{\n"); - strFile.Append("\t[Window(UILayer.UI)]\n"); - strFile.Append("\tclass " + root.name + " : UIWindow\n"); + + var widgetPrefix = $"{(ScriptGeneratorSetting.GetCodeStyle() == UIFieldCodeStyle.MPrefix ? "m_" : "_")}{ScriptGeneratorSetting.GetWidgetName()}"; + if (root.name.StartsWith(widgetPrefix)) + { + strFile.Append("\tclass " + root.name.Replace(widgetPrefix, "") + " : UIWidget\n"); + } + else + { + strFile.Append("\t[Window(UILayer.UI)]\n"); + strFile.Append("\tclass " + root.name + " : UIWindow\n"); + } + strFile.Append("\t{\n"); } diff --git a/UnityProject/Assets/Editor/UIScriptGenerator/ScriptGeneratorSetting.cs b/UnityProject/Assets/Editor/UIScriptGenerator/ScriptGeneratorSetting.cs index aab9c6dc..24b33787 100644 --- a/UnityProject/Assets/Editor/UIScriptGenerator/ScriptGeneratorSetting.cs +++ b/UnityProject/Assets/Editor/UIScriptGenerator/ScriptGeneratorSetting.cs @@ -181,5 +181,15 @@ namespace TEngine.Editor.UI return Instance.CodePath; } + + public static string GetWidgetName() + { + if (Instance == null) + { + return string.Empty; + } + + return Instance.WidgetName; + } } } \ No newline at end of file