HeroInfo.cs 3.6 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. CalAttribute();
  79. SkillData = new SkillData(this);
  80. SkillData.InitSkills();
  81. }
  82. public HeroInfo Upgrade()
  83. {
  84. level.Value++;
  85. powerUpConfig = ConfigComponent.Instance.Get<HeroPowerUpConfig>(level.Value);
  86. CalBasicAttribute();
  87. return this;
  88. }
  89. public HeroInfo Promote()
  90. {
  91. // star.Value++;
  92. // promoteConfig = ConfigComponent.Instance.Get<HeroPromoteConfig>(star.Value);
  93. // CalFactor();
  94. // CalBasicAttribute();
  95. return this;
  96. }
  97. public AccountFileInfo.HeroData ToHeroData()
  98. {
  99. AccountFileInfo.HeroData heroData = new AccountFileInfo.HeroData
  100. {
  101. heroModelId = modelConfig.ID,
  102. heroPowerId = powerUpConfig.ID,
  103. heroPromoteId = promoteConfig.ID,
  104. isLead = isLead,
  105. };
  106. return heroData;
  107. }
  108. }
  109. }