diff options
author | chai <215380520@qq.com> | 2023-06-02 21:39:27 +0800 |
---|---|---|
committer | chai <215380520@qq.com> | 2023-06-02 21:39:27 +0800 |
commit | a36e603531ad301cc144e88bce640e9b16d38e34 (patch) | |
tree | af083bfc9f452da4127f0a517c858a177f701685 /WorldlineKeepers/Assets/Editor/GenerateFileKey.cs | |
parent | db644274ae95a6fd0a3224d0dc848702615ff309 (diff) |
*misc
Diffstat (limited to 'WorldlineKeepers/Assets/Editor/GenerateFileKey.cs')
-rw-r--r-- | WorldlineKeepers/Assets/Editor/GenerateFileKey.cs | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/WorldlineKeepers/Assets/Editor/GenerateFileKey.cs b/WorldlineKeepers/Assets/Editor/GenerateFileKey.cs new file mode 100644 index 0000000..bec1374 --- /dev/null +++ b/WorldlineKeepers/Assets/Editor/GenerateFileKey.cs @@ -0,0 +1,51 @@ +using System.IO; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; +using WK.Data; + +namespace WK +{ + + public class GenerateFileKey + { + private static string targetFile = "Assets/Scripts/Data/Metadata/FileKey.cs"; + + [MenuItem("Tools/生成FileKey.cs")] + public static void EditorGenerateFileKey() + { + TextAsset text = ResourceManager.Instance.LoadAsset<TextAsset>(StaticDefine.FileList); + string content = text.text; + List<FileDescriptor> files = CSVReader.Read<FileDescriptor>(content); + Dictionary<string/*EFileKey*/, FileDescriptor> filelist = new Dictionary<string, FileDescriptor>(); + CSVReader.ReadDictionary<string, FileDescriptor>(filelist, content, "key"); + if(filelist.Count > 0) + { + if (File.Exists(targetFile)) + { + File.Delete(targetFile); + } + FileStream fs = File.Create(targetFile); + using (StreamWriter writer = new StreamWriter(fs)) + { + writer.WriteLine("// 自动生成"); + writer.WriteLine("namespace WK.Data"); + writer.WriteLine("{"); + writer.WriteLine("\tpublic enum EFileKey"); + writer.WriteLine("\t{"); + writer.WriteLine("\t\tnone = 0,\n"); + foreach(var kv in filelist) + { + writer.WriteLine("\t\t" + kv.Key + ","); + } + writer.WriteLine("\n\t\tall"); + writer.WriteLine("\t}"); + writer.WriteLine("}"); + } + } + } + + } + +} |