using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; using System.IO; using System.Text; public class AssetsPostProcessor : AssetPostprocessor { static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) { foreach (string str in importedAssets) { OnAssetImported(str); } foreach (string str in deletedAssets) { } for (int i = 0; i < movedAssets.Length; i++) { } } static void OnAssetImported(string assetPath) { switch (assetPath) { case "Assets/ResourcesOut/Refdata/Config/Item.txt": CreateGemItemConfig(); CreateEquipSuitNameConfig(); break; case "Assets/ResourcesOut/Refdata/Config/Skill.txt": CreateSkillClassifingConfig(); break; } } static void CreateGemItemConfig() { var gemItemConfigPath = Application.dataPath + "/ResourcesOut/Refdata/Config/GemItem.txt"; var lines = new List(); lines.Add("int\tint"); lines.Add("ID\tType"); lines.Add("唯一标识\t类型"); ItemConfig.Init(true); var keys = ItemConfig.GetKeys(); foreach (var key in keys) { var config = ItemConfig.Get(key); if ((config.Type == 25 || config.Type == 140) && config.Effect1 == 225) { lines.Add(StringUtility.Contact(config.ID, '\t', config.Type)); } } if (File.Exists(gemItemConfigPath)) { File.Delete(gemItemConfigPath); } File.WriteAllLines(gemItemConfigPath, lines.ToArray(), Encoding.UTF8); } static void CreateSkillClassifingConfig() { var skillClassifingConfigPath = Application.dataPath + "/ResourcesOut/Refdata/Config/SkillClassifing.txt"; var lines = new List(); lines.Add("int\tint\tint\tint\tint"); lines.Add("SkillID\tSkillTypeID\tUseType\tFuncType\tSkillLV"); lines.Add("唯一标识\t技能类型\t使用类型\t功能类型\t技能等级"); SkillConfig.Init(true); var keys = SkillConfig.GetKeys(); foreach (var key in keys) { var config = SkillConfig.Get(key); lines.Add(StringUtility.Contact(config.SkillID, '\t', config.SkillTypeID, '\t', config.UseType, '\t', config.FuncType, '\t', config.SkillLV)); } if (File.Exists(skillClassifingConfigPath)) { File.Delete(skillClassifingConfigPath); } File.WriteAllLines(skillClassifingConfigPath, lines.ToArray(), Encoding.UTF8); } static void CreateEquipSuitNameConfig() { var filePath = Application.dataPath + "/ResourcesOut/Refdata/Config/EquipSuitName.txt"; var lines = new List(); lines.Add("int\tint\tint\tint\tstring"); lines.Add("id\tjob\tlevel\tplace\tname"); lines.Add("唯一标识\t职业\t阶级\t部位\t名字"); ItemConfig.Init(true); var keys = ItemConfig.GetKeys(); foreach (var key in keys) { var config = ItemConfig.Get(key); if (config.SuiteiD > 0) { lines.Add(StringUtility.Contact(config.ID, '\t', config.JobLimit, "\t", config.LV, '\t', config.EquipPlace, '\t', config.ItemName)); } } if (File.Exists(filePath)) { File.Delete(filePath); } File.WriteAllLines(filePath, lines.ToArray(), Encoding.UTF8); } }