| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | 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;        }    }}
 |