Merge pull request #129 from 6ag/main

UI脚本生成,区分UIWidget和UIWindow
This commit is contained in:
ALEX
2025-03-20 00:06:31 +08:00
committed by GitHub
2 changed files with 22 additions and 2 deletions

View File

@@ -60,8 +60,18 @@ namespace TEngine.Editor.UI
strFile.Append("using TEngine;\n\n"); strFile.Append("using TEngine;\n\n");
strFile.Append($"namespace {ScriptGeneratorSetting.GetUINameSpace()}\n"); strFile.Append($"namespace {ScriptGeneratorSetting.GetUINameSpace()}\n");
strFile.Append("{\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"); strFile.Append("\t{\n");
} }

View File

@@ -181,5 +181,15 @@ namespace TEngine.Editor.UI
return Instance.CodePath; return Instance.CodePath;
} }
public static string GetWidgetName()
{
if (Instance == null)
{
return string.Empty;
}
return Instance.WidgetName;
}
} }
} }