PlayerManager.cs 4.8 KB

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