| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | using System.Collections.Generic;using UnityEngine;namespace GFGGame{    public class SkillDataManager : SingletonBase<SkillDataManager>    {        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<int, Dictionary<int, int>> skillData = new Dictionary<int, Dictionary<int, int>>();        public void Clear()        {            skillData.Clear();        }        public void InitServerData(int cardId, List<int> skillIds, List<int> skillLvs)        {            if (!this.skillData.ContainsKey(cardId))            {                this.skillData[cardId] = new Dictionary<int, int>();            }            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<int, RoleSkillCfg> GetNpcSkill()        // {        //     Dictionary<int, RoleSkillCfg> npcSkillDic = new Dictionary<int, RoleSkillCfg>();        //     RoleSkillCfg[] roleSkillCfgs = RoleSkillCfgArray.Instance.dataArray;        //     List<int> arr = new List<int> { 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<int> GetSkillLvs(int cardId)        {            List<int> skillLvs = new List<int>();            List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);            for (int i = 0; i < skillCfgs.Count; i++)            {                skillLvs.Add(GetSkillLv(cardId, skillCfgs[i].skillId));            }            return skillLvs;        }    }}
 |