HeroInfo.cs 2.9 KB

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