SkillDataManager.cs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using System.Collections.Generic;
  2. using UnityEngine;
  3. namespace GFGGame
  4. {
  5. public class SkillDataManager : SingletonBase<SkillDataManager>
  6. {
  7. public Dictionary<int, Dictionary<int, int>> CardSkillData = new Dictionary<int, Dictionary<int, int>>();
  8. public void Clear()
  9. {
  10. CardSkillData.Clear();
  11. }
  12. /*********************************************************卡牌技能****************************************************/
  13. public void InitCardData(int cardId, List<int> skillIds, List<int> skillLvs)
  14. {
  15. if (!this.CardSkillData.ContainsKey(cardId))
  16. {
  17. this.CardSkillData[cardId] = new Dictionary<int, int>();
  18. }
  19. for (int i = 0; i < skillIds.Count; i++)
  20. {
  21. UpdateCardSkill(cardId, skillIds[i], skillLvs[i]);
  22. }
  23. }
  24. public void UpdateCardSkill(int cardId, int skillId, int skillLv)
  25. {
  26. this.CardSkillData[cardId][skillId] = skillLv;
  27. }
  28. public int GetCardSkillLv(int cardId, int skillId)
  29. {
  30. int lv = 1;
  31. if (this.CardSkillData.ContainsKey(cardId) && this.CardSkillData[cardId].ContainsKey(skillId))
  32. {
  33. lv = this.CardSkillData[cardId][skillId];
  34. }
  35. return lv;
  36. }
  37. public List<int> GetCardSkillLvs(int cardId)
  38. {
  39. List<int> skillLvs = new List<int>();
  40. List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
  41. for (int i = 0; i < skillCfgs.Count; i++)
  42. {
  43. skillLvs.Add(GetCardSkillLv(cardId, skillCfgs[i].skillId));
  44. }
  45. return skillLvs;
  46. }
  47. /*************************************************************************************************************/
  48. }
  49. }