public static void QuickSetSkillEffect() { var skilllist = SearchGameObject.SearchGameObjectList <Skill> ("Assets/Resources/SkillAsset"); var effectlist = SearchGameObject.SearchGameObjectList <SkillEffect> ("Assets/Skill/SkillEffectAsset"); var skillDic = skilllist.ToDictionary(e => e.SKillID.ToString()); int size = effectlist.Count; for (int i = 0; i < size; ++i) { var e = effectlist[i]; if (!skillDic.ContainsKey(e.name)) { Debug.Log(e.name); continue; } skillDic[e.name].effect = e; EditorUtility.SetDirty(skillDic[e.name]); EditorUtility.DisplayCancelableProgressBar("配置技能特效", i + "/" + size, (float)i / size); } EditorUtility.ClearProgressBar(); AssetDatabase.SaveAssets(); }
public static void ExportSkillPoolConfig() { var list = SearchGameObject.SearchGameObjectList <SkillPool>("Assets/Skill/SkillPoolAsset"); var dic = list.ToDictionary(x => x.PokemonID); string json = JsonConvert.SerializeObject(dic); File.WriteAllText("Assets/Resources/Config/SkillPoolConfig.json", json, Encoding.UTF8); Debug.Log("精灵技能池导出成功"); }
public static void GetBagItem() { const string path = "Assets/Resources/ReadTxt/BagItem.json"; var list = SearchGameObject.SearchGameObjectList <Item>("Assets/BagItem"); List <string> nameList = list.Select(x => x.Name).ToList(); var list2 = SearchGameObject.SearchGameObjectList <Item>("Assets/Resources/BagItem/BagItemAsset"); int i = 0; foreach (Item e in list) { EditorUtility.DisplayCancelableProgressBar("复制道具数据", i + "/" + list.Count, (float)i / list.Count); Item other = list2.Find(x => x.Name == e.Name); if (e.Equals(other)) { continue; } AssetDatabase.CreateAsset(e.Clone(), "Assets/Resources/BagItem/BagItemAsset/" + e.Name + ".asset"); } EditorUtility.ClearProgressBar(); var str = JsonConvert.SerializeObject(nameList); File.WriteAllText(path, str, Encoding.UTF8); }
public static void GetCanUsePokemon() { const string path = "Assets/Resources/Config/AllPokemons.json"; var list = SearchPokemon() .Where(x => "" != x) .ToList() .ConvertAll(x => Convert.ToInt32(x)); var str = JsonConvert.SerializeObject(list); var SkillPools = SearchGameObject.SearchGameObjectList <SkillPool>("Assets/Skill/SkillPoolAsset") .ConvertAll(x => x.PokemonID); foreach (int id in list) { if (SkillPools.Contains(id)) { continue; } SkillPool skillPool = ScriptableObject.CreateInstance <SkillPool>(); skillPool.PokemonID = id; AssetDatabase.CreateAsset(skillPool, "Assets/Skill/SkillPoolAsset/" + id + ".asset"); } File.WriteAllText(path, str, Encoding.UTF8); }