mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-07 16:45:10 +00:00
Update ScriptGenerator.cs
This commit is contained in:
@@ -58,7 +58,7 @@ namespace TEngine.Editor.UI
|
|||||||
strFile.Append("using UnityEngine;\n");
|
strFile.Append("using UnityEngine;\n");
|
||||||
strFile.Append("using UnityEngine.UI;\n");
|
strFile.Append("using UnityEngine.UI;\n");
|
||||||
strFile.Append("using TEngine;\n\n");
|
strFile.Append("using TEngine;\n\n");
|
||||||
strFile.Append("namespace GameMain\n");
|
strFile.Append($"namespace {SettingsUtils.GetUINameSpace()}\n");
|
||||||
strFile.Append("{\n");
|
strFile.Append("{\n");
|
||||||
strFile.Append("\t[Window(UILayer.UI)]\n");
|
strFile.Append("\t[Window(UILayer.UI)]\n");
|
||||||
strFile.Append("\tclass " + root.name + " : UIWindow\n");
|
strFile.Append("\tclass " + root.name + " : UIWindow\n");
|
||||||
@@ -140,55 +140,20 @@ namespace TEngine.Editor.UI
|
|||||||
return "OnSlider" + varName.Replace("m_slider", string.Empty) + "Change";
|
return "OnSlider" + varName.Replace("m_slider", string.Empty) + "Change";
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Dictionary<string, string> dicWidget = new Dictionary<string, string>()
|
|
||||||
{
|
|
||||||
{ "m_go", "GameObject" },
|
|
||||||
{ "m_item", "GameObject" },
|
|
||||||
{ "m_tf", "Transform" },
|
|
||||||
{ "m_rect", "RectTransform" },
|
|
||||||
#if ENABLE_TEXTMESHPRO
|
|
||||||
{"m_text","TextMeshProUGUI"},
|
|
||||||
#else
|
|
||||||
{ "m_text", "Text" },
|
|
||||||
#endif
|
|
||||||
{ "m_richText", "RichTextItem" },
|
|
||||||
{ "m_tbtn", "TextButtonItem" },
|
|
||||||
{ "m_btn", "Button" },
|
|
||||||
{ "m_img", "Image" },
|
|
||||||
{ "m_rimg", "RawImage" },
|
|
||||||
{ "m_scrollBar", "Scrollbar" },
|
|
||||||
{ "m_scroll", "ScrollRect" },
|
|
||||||
{ "m_input", "InputField" },
|
|
||||||
{ "m_grid", "GridLayoutGroup" },
|
|
||||||
{ "m_clay", "CircleLayoutGroup" },
|
|
||||||
{ "m_hlay", "HorizontalLayoutGroup" },
|
|
||||||
{ "m_vlay", "VerticalLayoutGroup" },
|
|
||||||
{ "m_red", "RedNoteBehaviour" },
|
|
||||||
{ "m_switch", "SwitchTabItem" },
|
|
||||||
{ "m_slider", "Slider" },
|
|
||||||
{ "m_group", "ToggleGroup" },
|
|
||||||
{ "m_curve", "AnimationCurve" },
|
|
||||||
{ "m_canvasGroup", "CanvasGroup" },
|
|
||||||
#if ENABLE_TEXTMESHPRO
|
|
||||||
{"m_tmp","TextMeshProUGUI"},
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
|
|
||||||
private static void WriteScript(Transform root, Transform child, ref StringBuilder strVar, ref StringBuilder strBind, ref StringBuilder strOnCreate,
|
private static void WriteScript(Transform root, Transform child, ref StringBuilder strVar, ref StringBuilder strBind, ref StringBuilder strOnCreate,
|
||||||
ref StringBuilder strCallback, bool isUniTask)
|
ref StringBuilder strCallback, bool isUniTask)
|
||||||
{
|
{
|
||||||
string varName = child.name;
|
string varName = child.name;
|
||||||
string varType = string.Empty;
|
string componentName = string.Empty;
|
||||||
foreach (var pair in dicWidget)
|
|
||||||
{
|
|
||||||
var key = pair.Key;
|
|
||||||
if (varName.StartsWith(key))
|
|
||||||
{
|
|
||||||
varType = pair.Value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (varType == string.Empty)
|
var rule = SettingsUtils.GetScriptGenerateRule().Find(t => varName.StartsWith(t.uiElementRegex));
|
||||||
|
|
||||||
|
if (rule != null)
|
||||||
|
{
|
||||||
|
componentName = rule.componentName;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (componentName == string.Empty)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -196,8 +161,8 @@ namespace TEngine.Editor.UI
|
|||||||
string varPath = GetRelativePath(child, root);
|
string varPath = GetRelativePath(child, root);
|
||||||
if (!string.IsNullOrEmpty(varName))
|
if (!string.IsNullOrEmpty(varName))
|
||||||
{
|
{
|
||||||
strVar.Append("\t\tprivate " + varType + " " + varName + ";\n");
|
strVar.Append("\t\tprivate " + componentName + " " + varName + ";\n");
|
||||||
switch (varType)
|
switch (componentName)
|
||||||
{
|
{
|
||||||
case "Transform":
|
case "Transform":
|
||||||
strBind.Append($"\t\t\t{varName} = FindChild(\"{varPath}\");\n");
|
strBind.Append($"\t\t\t{varName} = FindChild(\"{varPath}\");\n");
|
||||||
@@ -211,7 +176,7 @@ namespace TEngine.Editor.UI
|
|||||||
case "RichItemIcon":
|
case "RichItemIcon":
|
||||||
case "CommonFightWidget":
|
case "CommonFightWidget":
|
||||||
case "PlayerHeadWidget":
|
case "PlayerHeadWidget":
|
||||||
strBind.Append($"\t\t\t{varName} = CreateWidgetByType<{varType}>(\"{varPath}\");\n");
|
strBind.Append($"\t\t\t{varName} = CreateWidgetByType<{componentName}>(\"{varPath}\");\n");
|
||||||
break;
|
break;
|
||||||
case "RedNoteBehaviour":
|
case "RedNoteBehaviour":
|
||||||
case "TextButtonItem":
|
case "TextButtonItem":
|
||||||
@@ -219,7 +184,7 @@ namespace TEngine.Editor.UI
|
|||||||
case "UIActorWidget":
|
case "UIActorWidget":
|
||||||
case "UIEffectWidget":
|
case "UIEffectWidget":
|
||||||
case "UISpineWidget":
|
case "UISpineWidget":
|
||||||
strBind.Append($"\t\t\t{varName} = CreateWidget<{varType}>(\"{varPath}\");\n");
|
strBind.Append($"\t\t\t{varName} = CreateWidget<{componentName}>(\"{varPath}\");\n");
|
||||||
break;
|
break;
|
||||||
case "ActorNameBinderText":
|
case "ActorNameBinderText":
|
||||||
strBind.Append($"\t\t\t{varName} = FindTextBinder(\"{varPath}\");\n");
|
strBind.Append($"\t\t\t{varName} = FindTextBinder(\"{varPath}\");\n");
|
||||||
@@ -228,11 +193,11 @@ namespace TEngine.Editor.UI
|
|||||||
strBind.Append($"\t\t\t{varName} = FindEffectBinder(\"{varPath}\");\n");
|
strBind.Append($"\t\t\t{varName} = FindEffectBinder(\"{varPath}\");\n");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
strBind.Append($"\t\t\t{varName} = FindChildComponent<{varType}>(\"{varPath}\");\n");
|
strBind.Append($"\t\t\t{varName} = FindChildComponent<{componentName}>(\"{varPath}\");\n");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (varType == "Button")
|
if (componentName == "Button")
|
||||||
{
|
{
|
||||||
string varFuncName = GetBtnFuncName(varName);
|
string varFuncName = GetBtnFuncName(varName);
|
||||||
if (isUniTask)
|
if (isUniTask)
|
||||||
@@ -248,14 +213,14 @@ namespace TEngine.Editor.UI
|
|||||||
strCallback.Append("\t\t{\n\t\t}\n");
|
strCallback.Append("\t\t{\n\t\t}\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (varType == "Toggle")
|
else if (componentName == "Toggle")
|
||||||
{
|
{
|
||||||
string varFuncName = GetToggleFuncName(varName);
|
string varFuncName = GetToggleFuncName(varName);
|
||||||
strOnCreate.Append($"\t\t\t{varName}.onValueChanged.AddListener({varFuncName});\n");
|
strOnCreate.Append($"\t\t\t{varName}.onValueChanged.AddListener({varFuncName});\n");
|
||||||
strCallback.Append($"\t\tprivate void {varFuncName}(bool isOn)\n");
|
strCallback.Append($"\t\tprivate void {varFuncName}(bool isOn)\n");
|
||||||
strCallback.Append("\t\t{\n\t\t}\n");
|
strCallback.Append("\t\t{\n\t\t}\n");
|
||||||
}
|
}
|
||||||
else if (varType == "Slider")
|
else if (componentName == "Slider")
|
||||||
{
|
{
|
||||||
string varFuncName = GetSliderFuncName(varName);
|
string varFuncName = GetSliderFuncName(varName);
|
||||||
strOnCreate.Append($"\t\t\t{varName}.onValueChanged.AddListener({varFuncName});\n");
|
strOnCreate.Append($"\t\t\t{varName}.onValueChanged.AddListener({varFuncName});\n");
|
||||||
@@ -281,9 +246,9 @@ namespace TEngine.Editor.UI
|
|||||||
protected void OnGUI()
|
protected void OnGUI()
|
||||||
{
|
{
|
||||||
GUILayout.BeginVertical();
|
GUILayout.BeginVertical();
|
||||||
foreach (var item in ScriptGenerator.dicWidget)
|
foreach (var item in SettingsUtils.GetScriptGenerateRule())
|
||||||
{
|
{
|
||||||
GUILayout.Label(item.Key + ":\t" + item.Value);
|
GUILayout.Label(item.uiElementRegex + ":\t" + item.componentName);
|
||||||
}
|
}
|
||||||
GUILayout.EndVertical();
|
GUILayout.EndVertical();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user