1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- using System.Collections.Generic;
- using UnityEngine;
- namespace GFGGame
- {
- public class SkillDataManager : SingletonBase<SkillDataManager>
- {
- public Dictionary<int, Dictionary<int, int>> CardSkillData = new Dictionary<int, Dictionary<int, int>>();
- public Dictionary<int, List<int>> LeagueSkillDatas = new Dictionary<int, List<int>>();//雅集技能
- public Dictionary<int, Dictionary<int, int>> LeagueSkillScoreDatas = new Dictionary<int, Dictionary<int, int>>();//雅集技能增加属性
- public void Clear()
- {
- CardSkillData.Clear();
- LeagueSkillDatas.Clear();
- LeagueSkillScoreDatas.Clear();
- }
- /*********************************************************卡牌技能****************************************************/
- public void InitCardData(int cardId, List<int> skillIds, List<int> skillLvs)
- {
- if (!this.CardSkillData.ContainsKey(cardId))
- {
- this.CardSkillData[cardId] = new Dictionary<int, int>();
- }
- for (int i = 0; i < skillIds.Count; i++)
- {
- UpdateCardSkill(cardId, skillIds[i], skillLvs[i]);
- }
- }
- public void UpdateCardSkill(int cardId, int skillId, int skillLv)
- {
- this.CardSkillData[cardId][skillId] = skillLv;
- }
- public int GetCardSkillLv(int cardId, int skillId)
- {
- int lv = 1;
- if (this.CardSkillData.ContainsKey(cardId) && this.CardSkillData[cardId].ContainsKey(skillId))
- {
- lv = this.CardSkillData[cardId][skillId];
- }
- return lv;
- }
- public List<int> GetCardSkillLvs(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(GetCardSkillLv(cardId, skillCfgs[i].skillId));
- }
- return skillLvs;
- }
- /*************************************************************************************************************/
- public void UpdateSkillDatas(int skillType, List<int> skillIds)
- {
- switch (skillType)
- {
- case SkillType.LeagueSkill:
- for (int i = 0; i < skillIds.Count; i++)
- {
- LeagueSkillCfg skillCfg = LeagueSkillCfgArray.Instance.GetCfg(skillIds[i]);
- if (skillIds[i] == 105)
- {
- Debug.Log("");
- }
- if (!LeagueSkillDatas.ContainsKey(skillCfg.type))
- {
- LeagueSkillDatas.Add(skillCfg.type, new List<int>());
- LeagueSkillScoreDatas.Add(skillCfg.type, new Dictionary<int, int>());
- LeagueSkillScoreDatas[skillCfg.type][ConstDressUpScoreType.SCORE_FENG] = 0;
- LeagueSkillScoreDatas[skillCfg.type][ConstDressUpScoreType.SCORE_HUA] = 0;
- LeagueSkillScoreDatas[skillCfg.type][ConstDressUpScoreType.SCORE_XUE] = 0;
- LeagueSkillScoreDatas[skillCfg.type][ConstDressUpScoreType.SCORE_YUE] = 0;
- }
- if (LeagueSkillDatas[skillCfg.type].IndexOf(skillIds[i]) < 0)
- {
- LeagueSkillDatas[skillCfg.type].Add(skillIds[i]);
- LeagueSkillScoreDatas[skillCfg.type][skillCfg.score] = LeagueSkillScoreDatas[skillCfg.type][skillCfg.score] + skillCfg.value;
- }
- }
- break;
- }
- }
- }
- }
|