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(StaticDefine.FileList); string content = text.text; List files = CSVReader.Read(content); Dictionary filelist = new Dictionary(); CSVReader.ReadDictionary(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("}"); } } } } }