using System.Collections.Generic; using UnityEngine; namespace GFGGame { public class SkillDataManager : SingletonBase { public const int MINE = 0; public const int NPC = 1; public const string SKILL_ADD = "add"; public const string SKILL_MINUS = "minus"; public const string SKILL_BREAK = "break"; public const string SKILL_SHIELD = "shield"; public Dictionary> skillData = new Dictionary>(); public void Clear() { skillData.Clear(); } public void InitServerData(int cardId, List skillIds, List skillLvs) { if (!this.skillData.ContainsKey(cardId)) { this.skillData[cardId] = new Dictionary(); } for (int i = 0; i < skillIds.Count; i++) { UpdateSkill(cardId, skillIds[i], skillLvs[i]); } } public void UpdateSkill(int cardId, int skillId, int skillLv) { this.skillData[cardId][skillId] = skillLv; } // //获取npc释放技能顺序 // public Dictionary GetNpcSkill() // { // Dictionary npcSkillDic = new Dictionary(); // RoleSkillCfg[] roleSkillCfgs = RoleSkillCfgArray.Instance.dataArray; // List arr = new List { 0, 1, 2, 3, 4, 5, 6, 7 }; // for (int i = 0; i < roleSkillCfgs.Length; i++) // { // int partIndex = Random.Range(0, arr.Count); // npcSkillDic.Add(arr[partIndex], roleSkillCfgs[i]); // arr.RemoveAt(partIndex); // } // return npcSkillDic; // } public int GetSkillLv(int cardId, int skillId) { int lv = 1; if (this.skillData.ContainsKey(cardId) && this.skillData[cardId].ContainsKey(skillId)) { lv = this.skillData[cardId][skillId]; } return lv; } public List GetSkillLvs(int cardId) { List skillLvs = new List(); List skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId); for (int i = 0; i < skillCfgs.Count; i++) { skillLvs.Add(GetSkillLv(cardId, skillCfgs[i].skillId)); } return skillLvs; } } }