PlayerManager.cs 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using Excel2Json;
  4. using Fort23.UTool;
  5. using GameLogic.Bag;
  6. using GameLogic.Equipment;
  7. using GameLogic.Hero;
  8. using UnityEngine;
  9. using Utility;
  10. public class PlayerManager : Singleton<PlayerManager>
  11. {
  12. /// <summary>
  13. /// 英雄管理
  14. /// </summary>
  15. public HeroController heroController = new HeroController();
  16. public EquipmentController eqController = new EquipmentController();
  17. public GameConstantConfig gameConstantConfig;
  18. public SkillUpConfig[] skillUpConfigs;
  19. public SkillConfig[] SkillConfigs;
  20. public Dictionary<int, List<SkillConfig>> groupSkillDic = new Dictionary<int, List<SkillConfig>>();
  21. public long coin;
  22. public long diamond;
  23. public long heroExp;
  24. /// <summary>
  25. /// 上一个强化的英雄
  26. /// </summary>
  27. public HeroInfo lastHeroInfo;
  28. public void Init()
  29. {
  30. SetConfigs();
  31. AccountFileInfo.Instance.LoadPlayerData();
  32. InitGameData();
  33. }
  34. private void SetConfigs()
  35. {
  36. gameConstantConfig = ConfigComponent.Instance.Get<GameConstantConfig>(1);
  37. skillUpConfigs = ConfigComponent.Instance.GetAll<SkillUpConfig>();
  38. SkillConfigs = ConfigComponent.Instance.GetAll<SkillConfig>();
  39. foreach (var skillConfig in SkillConfigs)
  40. {
  41. if (groupSkillDic.ContainsKey(skillConfig.IDGroup))
  42. {
  43. groupSkillDic[skillConfig.IDGroup].Add(skillConfig);
  44. }
  45. else
  46. {
  47. groupSkillDic.Add(skillConfig.IDGroup, new List<SkillConfig> { skillConfig });
  48. }
  49. }
  50. }
  51. private void InitGameData()
  52. {
  53. InitBags();
  54. heroController.InitHeroes();
  55. // InitHeroes();
  56. }
  57. private void InitBags()
  58. {
  59. BagController.Instance.Init();
  60. }
  61. // public void InitTestHero()
  62. // {
  63. // heroListInLead.Clear();
  64. // // AccountFileInfo.Instance.LoadPlayerData();
  65. //
  66. // AccountFileInfo.HeroData heroData1 = new AccountFileInfo.HeroData
  67. // {
  68. // heroModelId = 105,
  69. // heroPowerId = 1,
  70. // heroPromoteId = 3
  71. // };
  72. //
  73. // AccountFileInfo.HeroData heroData2 = new AccountFileInfo.HeroData
  74. // {
  75. // heroModelId = 107,
  76. // heroPowerId = 1,
  77. // heroPromoteId = 3
  78. // };
  79. //
  80. // AccountFileInfo.HeroData heroData3 = new AccountFileInfo.HeroData
  81. // {
  82. // heroModelId = 116,
  83. // heroPowerId = 1,
  84. // heroPromoteId = 3
  85. // };
  86. // AccountFileInfo.HeroData heroData4 = new AccountFileInfo.HeroData
  87. // {
  88. // heroModelId = 113,
  89. // heroPowerId = 1,
  90. // heroPromoteId = 3
  91. // };
  92. // AccountFileInfo.Instance.playerData.HeroListData.Clear();
  93. // AccountFileInfo.Instance.playerData.HeroListData.Add(heroData1);
  94. // AccountFileInfo.Instance.playerData.HeroListData.Add(heroData2);
  95. // AccountFileInfo.Instance.playerData.HeroListData.Add(heroData3);
  96. // AccountFileInfo.Instance.playerData.HeroListData.Add(heroData4);
  97. //
  98. // for (int i = 0; i < AccountFileInfo.Instance.playerData.HeroListData.Count; i++)
  99. // {
  100. // AccountFileInfo.HeroData heroData = AccountFileInfo.Instance.playerData.HeroListData[i];
  101. // HeroInfo heroInfo = new HeroInfo();
  102. // heroInfo.InitHero(heroData);
  103. // heroListInLead.Add(heroInfo);
  104. // }
  105. // }
  106. // public CombatHeroInfo GetHeroInfo(int modelID)
  107. // {
  108. // if (lastHeroInfo != null && lastHeroInfo.modelID == modelID)
  109. // {
  110. // return lastHeroInfo;
  111. // }
  112. //
  113. // for (int i = 0; i < heroListInLead.Count; i++)
  114. // {
  115. // HeroInfo info = heroListInLead[i];
  116. // if (info.modelID == modelID)
  117. // {
  118. // return info;
  119. // }
  120. // }
  121. //
  122. // return null;
  123. // }
  124. /// <summary>
  125. /// 保存英雄数据
  126. /// </summary>
  127. /// <param name="heroInfo"></param>
  128. public void SaveHeroData(HeroInfo heroInfo)
  129. {
  130. AccountFileInfo.Instance.SaveHeroData(heroInfo);
  131. // if (!QuickSaveHeroData(heroInfo))
  132. // {
  133. // for (int i = 0; i < AccountFileInfo.Instance.playerData.HeroListInLeadDatas.Count; i++)
  134. // {
  135. // AccountFileInfo.HeroData heroData = AccountFileInfo.Instance.playerData.HeroListInLeadDatas[i];
  136. // if (heroData.heroModelId == heroInfo.modelID)
  137. // {
  138. // AccountFileInfo.Instance.playerData.HeroListInLeadDatas[i] = heroInfo.ToHeroData();
  139. // //存下来,用于快速查找
  140. // leadHeroIdx = i;
  141. // AccountFileInfo.Instance.SavePlayerData();
  142. // return;
  143. // }
  144. // }
  145. // }
  146. }
  147. }