| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- using System.Collections.Generic;
- using cfg.GfgCfg;
- 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 Dictionary<int, int> LeagueSkillLvDatas = new 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;
- this.LeagueSkillLvDatas[skillId] = skillLv;
- }
- public Dictionary<int, int> GetLeagueSkillLvDatas()
- {
- return this.LeagueSkillLvDatas;
- }
- 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 = CommonDataManager.Tables.TblPassivitySkillCfg.GetGroup1ByCardId(cardId);
- if (skillCfgs == null)
- {
- return skillLvs;
- }
- 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 = CommonDataManager.Tables.TblLeagueSkillCfg.GetOrDefault(skillIds[i]);
- if (skillIds[i] == 105)
- {
- LogUtil.LogEditor("");
- }
- 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;
- }
- }
- List<FightData> fightDatas = ArenaDataManager.Instance.DressupList;
- for (int i = 0; i < fightDatas.Count; i++)
- {
- fightDatas[i].leagueSkillScore =
- LeagueDataManager.Instance.GetAllSkillScore(fightDatas[i].scoreType);
- }
- break;
- }
- }
- }
- }
|