HeroInfo.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  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.HeroEquip, OnHeroEquip);
  45. }
  46. private void OnHeroEquip(IEventData e)
  47. {
  48. HeroEquipEventData data = e as HeroEquipEventData;
  49. if (data.zy == modelConfig.profession)
  50. {
  51. CalAttribute();
  52. HeroPowerUpEventData eventData = HeroPowerUpEventData.Create();
  53. eventData.heroModelID = modelID;
  54. eventData.isSkillUp = false;
  55. eventData.upType = HeroUpType.BasicEquip;
  56. EventManager.Instance.Dispatch(CustomEventType.HeroPowerUp, eventData);
  57. }
  58. }
  59. public void InitHero(AccountFileInfo.HeroData heroData)
  60. {
  61. // modelID = heroData.heroModelId;
  62. isLead = heroData.isLead;
  63. InitHero(heroData.heroModelId, heroData.heroPowerId, heroData.heroPromoteId);
  64. // SetDataConfig(heroData.heroModelId,
  65. // heroData.heroPowerId,
  66. // heroData.heroPromoteId);
  67. // CalFactor();
  68. // CalAttribute();
  69. // SkillData = new SkillData(this);
  70. // SkillData.InitSkills();
  71. }
  72. public void InitHero(int modelID, int powerID, int promoteID)
  73. {
  74. this.modelID = modelID;
  75. SetDataConfig(modelID,
  76. powerID,
  77. promoteID);
  78. CalFactor();
  79. CalAttribute();
  80. SkillData = new SkillData(this);
  81. SkillData.InitSkills();
  82. }
  83. public HeroInfo Upgrade()
  84. {
  85. level.Value++;
  86. powerUpConfig = ConfigComponent.Instance.Get<HeroPowerUpConfig>(level.Value);
  87. CalFactor();
  88. CalBasicAttribute();
  89. return this;
  90. }
  91. public HeroInfo Promote()
  92. {
  93. star.Value++;
  94. promoteConfig = ConfigComponent.Instance.Get<HeroPromoteConfig>(star.Value);
  95. CalFactor();
  96. CalBasicAttribute();
  97. return this;
  98. }
  99. public AccountFileInfo.HeroData ToHeroData()
  100. {
  101. AccountFileInfo.HeroData heroData = new AccountFileInfo.HeroData
  102. {
  103. heroModelId = modelConfig.ID,
  104. heroPowerId = powerUpConfig.ID,
  105. heroPromoteId = promoteConfig.ID,
  106. isLead = isLead,
  107. };
  108. return heroData;
  109. }
  110. }
  111. }