HeroInfo.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  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 iconZhiYe
  21. {
  22. get{
  23. if (string.IsNullOrEmpty(_iconZhiYe))
  24. {
  25. switch (modelConfig.profession)
  26. {
  27. case 1 :
  28. _iconZhiYe = "icon_zy_Shield";
  29. break;
  30. case 2 :
  31. _iconZhiYe = "icon_zy_Hat";
  32. break;
  33. case 3 :
  34. _iconZhiYe = "icon_zy_Potion";
  35. break;
  36. case 4 :
  37. _iconZhiYe = "icon_zy_Bow";
  38. break;
  39. }
  40. }
  41. return _iconZhiYe;
  42. }
  43. }
  44. public HeroInfo()
  45. {
  46. EventManager.Instance.AddEventListener(CustomEventType.HeroPowerUp, OnHeroPowerUp);
  47. }
  48. private void OnHeroPowerUp(IEventData e)
  49. {
  50. HeroPowerUpEventData data = new HeroPowerUpEventData();
  51. if (data.upType == HeroUpType.BasicEquip)
  52. {
  53. CalAttribute();
  54. }
  55. }
  56. public void InitHero(AccountFileInfo.HeroData heroData)
  57. {
  58. // modelID = heroData.heroModelId;
  59. isLead = heroData.isLead;
  60. InitHero(heroData.heroModelId, heroData.heroPowerId, heroData.heroPromoteId);
  61. // SetDataConfig(heroData.heroModelId,
  62. // heroData.heroPowerId,
  63. // heroData.heroPromoteId);
  64. // CalFactor();
  65. // CalAttribute();
  66. // SkillData = new SkillData(this);
  67. // SkillData.InitSkills();
  68. }
  69. public void InitHero(int modelID, int powerID, int promoteID)
  70. {
  71. this.modelID = modelID;
  72. SetDataConfig(modelID,
  73. powerID,
  74. promoteID);
  75. CalFactor();
  76. CalAttribute();
  77. SkillData = new SkillData(this);
  78. SkillData.InitSkills();
  79. }
  80. public HeroInfo Upgrade()
  81. {
  82. level.Value++;
  83. powerUpConfig = ConfigComponent.Instance.Get<HeroPowerUpConfig>(level.Value);
  84. CalFactor();
  85. CalBasicAttribute();
  86. return this;
  87. }
  88. public HeroInfo Promote()
  89. {
  90. star.Value++;
  91. promoteConfig = ConfigComponent.Instance.Get<HeroPromoteConfig>(star.Value);
  92. CalFactor();
  93. CalBasicAttribute();
  94. return this;
  95. }
  96. public AccountFileInfo.HeroData ToHeroData()
  97. {
  98. AccountFileInfo.HeroData heroData = new AccountFileInfo.HeroData
  99. {
  100. heroModelId = modelConfig.ID,
  101. heroPowerId = powerUpConfig.ID,
  102. heroPromoteId = promoteConfig.ID,
  103. isLead = isLead,
  104. };
  105. return heroData;
  106. }
  107. }
  108. }