void OnGUI() { GUILayout.BeginHorizontal(); GUILayout.Label("生成适配器"); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); _namespace = EditorGUILayout.TextField("命名空间", _namespace); _class = EditorGUILayout.TextField("类名", _class); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); if (GUILayout.Button(new GUIContent("生成"))) { string path = "Library/ScriptAssemblies/Unity.Model.dll"; Type type = Assembly.LoadFile(path).GetType($"{_namespace}.{_class}"); if (type == null) { ShowNotification(new GUIContent("没有此脚本")); return; } if (File.Exists($"Assets/Scripts/Runtime/Core/Manager/ILRuntime/Adapter/{_class}Adapter.cs")) { File.Delete($"Assets/Scripts/Runtime/Core/Manager/ILRuntime/Adapter/{_class}Adapter.cs"); } FileUtil.SaveAsset($"Assets/Scripts/Runtime/Core/Manager/ILRuntime/Adapter/{_class}Adapter.cs", CrossBindingCodeGenerator.GenerateCrossBindingAdapterCode(type, _namespace)); AssetDatabase.Refresh(); } GUILayout.EndHorizontal(); }
public static void ExportToHotfix() { foreach (string item in Directory.GetFiles("Assets/Excels")) { if (Path.GetExtension(item) != ".xlsx") { continue; } FileUtil.SaveAsset($"Assets/Hotfix/Runtime/Config/ConfigTable/{Path.GetFileNameWithoutExtension(item)}Table.cs", SheetToAConfigTable("using LccModel;\n\nnamespace LccHotfix\n", Path.GetFileNameWithoutExtension(item))); XSSFWorkbook xssfWorkbook = new XSSFWorkbook(item); FileUtil.SaveAsset($"Assets/Hotfix/Runtime/Config/Config/{Path.GetFileNameWithoutExtension(item)}.cs", SheetToConfig(xssfWorkbook.GetSheetAt(0), "namespace LccHotfix\n", Path.GetFileNameWithoutExtension(item))); } }
public static void ExportJson() { foreach (string item in Directory.GetFiles("Assets/Excels")) { if (Path.GetExtension(item) != ".xlsx") { continue; } XSSFWorkbook xssfWorkbook = new XSSFWorkbook(item); FileUtil.SaveAsset($"Assets/Resources/Config/{Path.GetFileNameWithoutExtension(item)}.txt", SheetToJson(xssfWorkbook.GetSheetAt(0))); FileUtil.SaveAsset($"Assets/Bundles/Config/{Path.GetFileNameWithoutExtension(item)}.txt", SheetToJson(xssfWorkbook.GetSheetAt(0))); } }