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