123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- 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, SkillData>> skillData = new Dictionary<int, Dictionary<int, SkillData>>();
- public void Clear()
- {
- skillData.Clear();
- }
- public void InitServerData(List<SkillData> skillDatas)
- {
- skillData.Clear();
- if (skillDatas != null && skillDatas.Count > 0)
- {
- foreach (SkillData skillData in skillDatas)
- {
- if (!this.skillData.ContainsKey(skillData.cardId))
- {
- this.skillData[skillData.cardId] = new Dictionary<int, SkillData>();
- }
- // if(!this.skillData[skillData.cardId].ContainsKey(skillData.skillId)){
- // }this.skillData[skillData.cardId][skillData.skillId]=
- this.skillData[skillData.cardId][skillData.skillId] = skillData;
- }
- }
- }
- public void UpSkill(int cardId, int skillId)
- {
- if (!this.skillData.ContainsKey(cardId))
- {
- this.skillData[cardId] = new Dictionary<int, SkillData>();
- }
- if (!this.skillData[cardId].ContainsKey(skillId))
- {
- SkillData skillData = new SkillData();
- skillData.cardId = cardId;
- skillData.skillId = skillId;
- skillData.lv = 1;
- this.skillData[cardId][skillId] = skillData;
- }
- skillData[cardId][skillId].lv += 1;
- EventAgent.DispatchEvent(ConstMessage.CARD_UP_SKILL);
- }
- //获取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 CardSkillCfg GetCardSkillCfg(int cardId, int skillId)
- {
- CardSkillCfg[] cardSkillCfgs = CardSkillCfgArray.Instance.GetCfgs(cardId);
- CardSkillCfg cardSkillCfg = null;
- for (int i = 0; i < cardSkillCfgs.Length; i++)
- {
- if (cardSkillCfgs[i].skillId == skillId)
- {
- cardSkillCfg = cardSkillCfgs[i];
- }
- }
- return cardSkillCfg;
- }
- public PassivitySkillCfg GetPassivitySkillCfg(int cardId, int skillId)
- {
- PassivitySkillCfg[] passivitySkillCfgs = PassivitySkillCfgArray.Instance.GetCfgs(cardId);
- PassivitySkillCfg passivitySkillCfg = null;
- for (int i = 0; i < passivitySkillCfgs.Length; i++)
- {
- if (passivitySkillCfgs[i].skillId == skillId)
- {
- passivitySkillCfg = passivitySkillCfgs[i];
- }
- }
- return passivitySkillCfg;
- }
- public SkillData GetSkillData(int cardId, int skillId)
- {
- SkillData skillData = SkillDataManager.Instance.skillData.ContainsKey(cardId) && SkillDataManager.Instance.skillData[cardId].ContainsKey(skillId) ? SkillDataManager.Instance.skillData[cardId][skillId] : null;
- return skillData;
- }
- }
- }
|