SkillDataManager.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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, SkillData> skillData = new Dictionary<int, SkillData>();
  14. public void Clear()
  15. {
  16. skillData.Clear();
  17. }
  18. public void InitServerData(List<SkillData> skillDatas)
  19. {
  20. skillData.Clear();
  21. if (skillDatas != null && skillDatas.Count > 0)
  22. {
  23. foreach (SkillData skillData in skillDatas)
  24. {
  25. this.skillData.Add(skillData.id, skillData);
  26. }
  27. }
  28. }
  29. public void UpSkill(int skillId)
  30. {
  31. if (!skillData.ContainsKey(skillId))
  32. {
  33. SkillData skillData = new SkillData();
  34. skillData.id = skillId;
  35. skillData.lv = 1;
  36. this.skillData.Add(skillId, skillData);
  37. }
  38. skillData[skillId].lv += 1;
  39. EventAgent.DispatchEvent(ConstMessage.CARD_UP_SKILL);
  40. }
  41. //获取npc释放技能顺序
  42. public Dictionary<int, RoleSkillCfg> GetNpcSkill()
  43. {
  44. Dictionary<int, RoleSkillCfg> npcSkillDic = new Dictionary<int, RoleSkillCfg>();
  45. RoleSkillCfg[] roleSkillCfgs = RoleSkillCfgArray.Instance.dataArray;
  46. List<int> arr = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7 };
  47. for (int i = 0; i < roleSkillCfgs.Length; i++)
  48. {
  49. int partIndex = Random.Range(0, arr.Count);
  50. npcSkillDic.Add(arr[partIndex], roleSkillCfgs[i]);
  51. arr.RemoveAt(partIndex);
  52. }
  53. return npcSkillDic;
  54. }
  55. }
  56. }