| | |
| | | sb.AppendLine(" private async UniTask LoadConfigByType(Type configType)");
|
| | | sb.AppendLine(" {");
|
| | | sb.AppendLine(" string configName = configType.Name;");
|
| | | sb.AppendLine(" if (configName.EndsWith(\"Config\"))");
|
| | | sb.AppendLine(" {");
|
| | | sb.AppendLine(" configName = configName.Substring(0, configName.Length - 6);");
|
| | | sb.AppendLine(" }");
|
| | | sb.AppendLine(" TextAsset textAsset = await ResManager.Instance.LoadAsset<TextAsset>(\"Config\", configName);");
|
| | | sb.AppendLine(" if (textAsset != null)");
|
| | | sb.AppendLine(" {");
|
| | | sb.AppendLine(" string[] lines = textAsset.text.Split('\\n');");
|
| | | sb.AppendLine(" var methodInfo = configType.GetMethod(\"Init\", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static);");
|
| | | sb.AppendLine(" var methodInfo = configType.GetMethod(\"Init\", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.FlattenHierarchy);");
|
| | | sb.AppendLine(" if (methodInfo != null)");
|
| | | sb.AppendLine(" {");
|
| | | sb.AppendLine(" methodInfo.Invoke(null, new object[] { lines });");
|
| | |
| | | sb.AppendLine(" var methodInfo = typeof(T).GetMethod(\"Init\", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static);");
|
| | | sb.AppendLine(" if (methodInfo != null)");
|
| | | sb.AppendLine(" {");
|
| | | sb.AppendLine(" methodInfo.Invoke(null, new object[] { lines });");
|
| | | sb.AppendLine(" methodInfo.Invoke(null, lines);");
|
| | | sb.AppendLine(" // 设置初始化标志");
|
| | | sb.AppendLine(" var isInitField = typeof(T).GetField(\"isInit\", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Static);");
|
| | | sb.AppendLine(" if (isInitField != null)");
|