HeroInfo.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. using System.Collections.Generic;
  2. using Common.Utility.CombatEvent;
  3. using Excel2Json;
  4. using Fort23.Core;
  5. using Fort23.UTool;
  6. namespace GameLogic.Hero
  7. {
  8. public class HeroInfo : CombatHeroInfo
  9. {
  10. public SkillData SkillData;
  11. private string _iconZhiYe;
  12. /// <summary>
  13. /// 是否为主力英雄
  14. /// </summary>
  15. public bool isLead;
  16. /// <summary>
  17. /// 技能数据
  18. /// </summary>
  19. // public SkillData SkillData;
  20. public string GetZyIconName()
  21. {
  22. if (string.IsNullOrEmpty(_iconZhiYe))
  23. {
  24. switch (modelConfig.profession)
  25. {
  26. case 1 :
  27. _iconZhiYe = "icon_zy_Shield";
  28. break;
  29. case 2 :
  30. _iconZhiYe = "icon_zy_Hat";
  31. break;
  32. case 3 :
  33. _iconZhiYe = "icon_zy_Potion";
  34. break;
  35. case 4 :
  36. _iconZhiYe = "icon_zy_Bow";
  37. break;
  38. }
  39. }
  40. return _iconZhiYe;
  41. }
  42. public HeroInfo()
  43. {
  44. EventManager.Instance.AddEventListener(CustomEventType.HeroPowerUp, OnHeroPowerUp);
  45. }
  46. private void OnHeroPowerUp(IEventData e)
  47. {
  48. HeroPowerUpEventData data = e as HeroPowerUpEventData;
  49. if (data.upType == HeroUpType.BasicEquip)
  50. {
  51. CalAttribute();
  52. }
  53. }
  54. public void InitHero(AccountFileInfo.HeroData heroData)
  55. {
  56. // modelID = heroData.heroModelId;
  57. isLead = heroData.isLead;
  58. InitHero(heroData.heroModelId, heroData.heroPowerId, heroData.heroPromoteId);
  59. // SetDataConfig(heroData.heroModelId,
  60. // heroData.heroPowerId,
  61. // heroData.heroPromoteId);
  62. // CalFactor();
  63. // CalAttribute();
  64. // SkillData = new SkillData(this);
  65. // SkillData.InitSkills();
  66. }
  67. public void InitHero(int modelID, int powerID, int promoteID)
  68. {
  69. this.modelID = modelID;
  70. SetDataConfig(modelID,
  71. powerID,
  72. promoteID);
  73. CalFactor();
  74. CalAttribute();
  75. SkillData = new SkillData(this);
  76. SkillData.InitSkills();
  77. }
  78. public HeroInfo Upgrade()
  79. {
  80. level.Value++;
  81. powerUpConfig = ConfigComponent.Instance.Get<HeroPowerUpConfig>(level.Value);
  82. CalFactor();
  83. CalBasicAttribute();
  84. return this;
  85. }
  86. public HeroInfo Promote()
  87. {
  88. star.Value++;
  89. promoteConfig = ConfigComponent.Instance.Get<HeroPromoteConfig>(star.Value);
  90. CalFactor();
  91. CalBasicAttribute();
  92. return this;
  93. }
  94. public AccountFileInfo.HeroData ToHeroData()
  95. {
  96. AccountFileInfo.HeroData heroData = new AccountFileInfo.HeroData
  97. {
  98. heroModelId = modelConfig.ID,
  99. heroPowerId = powerUpConfig.ID,
  100. heroPromoteId = promoteConfig.ID,
  101. isLead = isLead,
  102. };
  103. return heroData;
  104. }
  105. }
  106. }