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