PlayerManager.cs 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  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. Dictionary<string, string> gameInfo = new Dictionary<string, string>();
  56. gameInfo.Add("battleLevel", AccountFileInfo.Instance.playerData.levelBattle.ToString());
  57. gameInfo.Add("userlevel", heroController.mainLevel.ToString());
  58. // gameInfo.Add("battleLevel", AccountFileInfo.Instance.playerData.levelBattle.ToString());
  59. PottingMobile._YouLoftGameInfo(gameInfo);
  60. // InitHeroes();
  61. }
  62. private void InitBags()
  63. {
  64. BagController.Instance.Init();
  65. }
  66. // public void InitTestHero()
  67. // {
  68. // heroListInLead.Clear();
  69. // // AccountFileInfo.Instance.LoadPlayerData();
  70. //
  71. // AccountFileInfo.HeroData heroData1 = new AccountFileInfo.HeroData
  72. // {
  73. // heroModelId = 105,
  74. // heroPowerId = 1,
  75. // heroPromoteId = 3
  76. // };
  77. //
  78. // AccountFileInfo.HeroData heroData2 = new AccountFileInfo.HeroData
  79. // {
  80. // heroModelId = 107,
  81. // heroPowerId = 1,
  82. // heroPromoteId = 3
  83. // };
  84. //
  85. // AccountFileInfo.HeroData heroData3 = new AccountFileInfo.HeroData
  86. // {
  87. // heroModelId = 116,
  88. // heroPowerId = 1,
  89. // heroPromoteId = 3
  90. // };
  91. // AccountFileInfo.HeroData heroData4 = new AccountFileInfo.HeroData
  92. // {
  93. // heroModelId = 113,
  94. // heroPowerId = 1,
  95. // heroPromoteId = 3
  96. // };
  97. // AccountFileInfo.Instance.playerData.HeroListData.Clear();
  98. // AccountFileInfo.Instance.playerData.HeroListData.Add(heroData1);
  99. // AccountFileInfo.Instance.playerData.HeroListData.Add(heroData2);
  100. // AccountFileInfo.Instance.playerData.HeroListData.Add(heroData3);
  101. // AccountFileInfo.Instance.playerData.HeroListData.Add(heroData4);
  102. //
  103. // for (int i = 0; i < AccountFileInfo.Instance.playerData.HeroListData.Count; i++)
  104. // {
  105. // AccountFileInfo.HeroData heroData = AccountFileInfo.Instance.playerData.HeroListData[i];
  106. // HeroInfo heroInfo = new HeroInfo();
  107. // heroInfo.InitHero(heroData);
  108. // heroListInLead.Add(heroInfo);
  109. // }
  110. // }
  111. // public CombatHeroInfo GetHeroInfo(int modelID)
  112. // {
  113. // if (lastHeroInfo != null && lastHeroInfo.modelID == modelID)
  114. // {
  115. // return lastHeroInfo;
  116. // }
  117. //
  118. // for (int i = 0; i < heroListInLead.Count; i++)
  119. // {
  120. // HeroInfo info = heroListInLead[i];
  121. // if (info.modelID == modelID)
  122. // {
  123. // return info;
  124. // }
  125. // }
  126. //
  127. // return null;
  128. // }
  129. /// <summary>
  130. /// 保存英雄数据
  131. /// </summary>
  132. /// <param name="heroInfo"></param>
  133. public void SaveHeroData(HeroInfo heroInfo)
  134. {
  135. AccountFileInfo.Instance.SaveHeroData(heroInfo);
  136. // if (!QuickSaveHeroData(heroInfo))
  137. // {
  138. // for (int i = 0; i < AccountFileInfo.Instance.playerData.HeroListInLeadDatas.Count; i++)
  139. // {
  140. // AccountFileInfo.HeroData heroData = AccountFileInfo.Instance.playerData.HeroListInLeadDatas[i];
  141. // if (heroData.heroModelId == heroInfo.modelID)
  142. // {
  143. // AccountFileInfo.Instance.playerData.HeroListInLeadDatas[i] = heroInfo.ToHeroData();
  144. // //存下来,用于快速查找
  145. // leadHeroIdx = i;
  146. // AccountFileInfo.Instance.SavePlayerData();
  147. // return;
  148. // }
  149. // }
  150. // }
  151. }
  152. }