SkillDataManager.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. }
  40. //获取npc释放技能顺序
  41. public Dictionary<int, RoleSkillCfg> GetNpcSkill()
  42. {
  43. Dictionary<int, RoleSkillCfg> npcSkillDic = new Dictionary<int, RoleSkillCfg>();
  44. RoleSkillCfg[] roleSkillCfgs = RoleSkillCfgArray.Instance.dataArray;
  45. List<int> arr = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7 };
  46. for (int i = 0; i < roleSkillCfgs.Length; i++)
  47. {
  48. int partIndex = Random.Range(0, arr.Count);
  49. npcSkillDic.Add(arr[partIndex], roleSkillCfgs[i]);
  50. arr.RemoveAt(partIndex);
  51. }
  52. return npcSkillDic;
  53. }
  54. }
  55. }