54 lines
1.5 KiB
C#
54 lines
1.5 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.IO;
|
||
using System.Text;
|
||
using Sirenix.OdinInspector;
|
||
using Sirenix.OdinInspector.Editor;
|
||
using TMPro;
|
||
using UnityEditor;
|
||
using UnityEngine;
|
||
using UnityEngine.UI;
|
||
using ZC;
|
||
|
||
namespace ZEditor
|
||
{
|
||
public class GenProcedureEditor : OdinEditorWindow
|
||
{
|
||
public string logicFolderPath = $"{Application.dataPath}/DemoGame/GameScript/Hotfix/Procedure/Logic";
|
||
public string templatePath = $"{Application.dataPath}/DemoGame/GameRes/ProcedureLogicTemplate.txt";
|
||
|
||
public string className;
|
||
|
||
[MenuItem("Tool/ProcedureTool")]
|
||
public static void OpenWin()
|
||
{
|
||
GetWindow<GenProcedureEditor>().Show();
|
||
}
|
||
|
||
[Button("创建")]
|
||
void Gen()
|
||
{
|
||
if (string.IsNullOrEmpty(className))
|
||
{
|
||
Debug.LogError($"{className} is null !!! ");
|
||
return;
|
||
}
|
||
|
||
var tmpName = $"{this.className}Procedure";
|
||
string filePath = $"{logicFolderPath}/{tmpName}.cs";
|
||
string allText;
|
||
if (!File.Exists(filePath))
|
||
{
|
||
File.Create(filePath).Dispose();
|
||
allText = File.ReadAllText(templatePath);
|
||
allText = allText.Replace("#CLASSNAME#", tmpName);
|
||
File.WriteAllText(filePath, allText);
|
||
}
|
||
else
|
||
{
|
||
Debug.LogError($"重复!已存在{tmpName}.cs文件!");
|
||
return;
|
||
}
|
||
}
|
||
}
|
||
} |