summaryrefslogtreecommitdiff
path: root/WorldlineKeepers/Assets/Editor/GenerateFileKey.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2023-06-02 21:39:27 +0800
committerchai <215380520@qq.com>2023-06-02 21:39:27 +0800
commita36e603531ad301cc144e88bce640e9b16d38e34 (patch)
treeaf083bfc9f452da4127f0a517c858a177f701685 /WorldlineKeepers/Assets/Editor/GenerateFileKey.cs
parentdb644274ae95a6fd0a3224d0dc848702615ff309 (diff)
*misc
Diffstat (limited to 'WorldlineKeepers/Assets/Editor/GenerateFileKey.cs')
-rw-r--r--WorldlineKeepers/Assets/Editor/GenerateFileKey.cs51
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("}");
+ }
+ }
+ }
+
+ }
+
+}