SkillDataManager.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using System.Collections.Generic;
  2. using UnityEngine;
  3. namespace GFGGame
  4. {
  5. public class SkillDataManager : SingletonBase<SkillDataManager>
  6. {
  7. public const int MINE = 0;
  8. public const int NPC = 1;
  9. public const string SKILL_ADD = "add";
  10. public const string SKILL_MINUS = "minus";
  11. public const string SKILL_BREAK = "break";
  12. public const string SKILL_SHIELD = "shield";
  13. public Dictionary<int, Dictionary<int, int>> skillData = new Dictionary<int, Dictionary<int, int>>();
  14. public void Clear()
  15. {
  16. skillData.Clear();
  17. }
  18. public void InitServerData(int cardId, List<int> skillIds, List<int> skillLvs)
  19. {
  20. if (!this.skillData.ContainsKey(cardId))
  21. {
  22. this.skillData[cardId] = new Dictionary<int, int>();
  23. }
  24. for (int i = 0; i < skillIds.Count; i++)
  25. {
  26. UpdateSkill(cardId, skillIds[i], skillLvs[i]);
  27. }
  28. }
  29. public void UpdateSkill(int cardId, int skillId, int skillLv)
  30. {
  31. this.skillData[cardId][skillId] = skillLv;
  32. }
  33. // //获取npc释放技能顺序
  34. // public Dictionary<int, RoleSkillCfg> GetNpcSkill()
  35. // {
  36. // Dictionary<int, RoleSkillCfg> npcSkillDic = new Dictionary<int, RoleSkillCfg>();
  37. // RoleSkillCfg[] roleSkillCfgs = RoleSkillCfgArray.Instance.dataArray;
  38. // List<int> arr = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7 };
  39. // for (int i = 0; i < roleSkillCfgs.Length; i++)
  40. // {
  41. // int partIndex = Random.Range(0, arr.Count);
  42. // npcSkillDic.Add(arr[partIndex], roleSkillCfgs[i]);
  43. // arr.RemoveAt(partIndex);
  44. // }
  45. // return npcSkillDic;
  46. // }
  47. public int GetSkillLv(int cardId, int skillId)
  48. {
  49. int lv = 1;
  50. if (this.skillData.ContainsKey(cardId) && this.skillData[cardId].ContainsKey(skillId))
  51. {
  52. lv = this.skillData[cardId][skillId];
  53. }
  54. return lv;
  55. }
  56. public List<int> GetSkillLvs(int cardId)
  57. {
  58. List<int> skillLvs = new List<int>();
  59. List<PassivitySkillCfg> skillCfgs = PassivitySkillCfgArray.Instance.GetCfgsBycardId(cardId);
  60. for (int i = 0; i < skillCfgs.Count; i++)
  61. {
  62. skillLvs.Add(GetSkillLv(cardId, skillCfgs[i].skillId));
  63. }
  64. return skillLvs;
  65. }
  66. }
  67. }