HeroDetailPanel.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. using Common.Utility.CombatEvent;
  2. using Core.Language;
  3. using Excel2Json;
  4. using Fort23.Core;
  5. using Fort23.UTool;
  6. using GameLogic.Hero;
  7. using UnityEngine.UI;
  8. namespace Fort23.Mono
  9. {
  10. [UIBinding(prefab = "HeroDetailPanel" )]
  11. public partial class HeroDetailPanel : UIPanel
  12. {
  13. private HeroInfo heroInfo;
  14. private void Init()
  15. {
  16. // InitHeroDetailPanel();
  17. }
  18. protected override void AddEvent()
  19. {
  20. }
  21. protected override void DelEvent()
  22. {
  23. }
  24. public override void AddButtonEvent()
  25. {
  26. btnBack.onClick.AddListener(OnClickClose);
  27. btnUpgrade.onClick.AddListener(OnClickUpgrade);
  28. btnPromote.onClick.AddListener(OnClickPromote);
  29. }
  30. private void OnClickPromote()
  31. {
  32. }
  33. private void OnClickUpgrade()
  34. {
  35. heroInfo = heroInfo.Upgrade();
  36. UpdateAttributeUI();
  37. HeroLvUpgradeEventData data = new HeroLvUpgradeEventData();
  38. data.heroModelID = heroInfo.modelID;
  39. EventManager.Instance.Dispatch(CustomEventType.HeroUpgrade, data);
  40. }
  41. private void OnClickClose()
  42. {
  43. UIManager.Instance.HideUIUIPanel(this);
  44. }
  45. public void InitHeroDetailPanel(HeroInfo heroInfo)
  46. {
  47. this.heroInfo = heroInfo;
  48. iconZhiYe.icon_name = heroInfo.iconZhiYe;
  49. heroName.text = LanguageManager.Instance.Text(heroInfo.modelConfig.name);
  50. HeroUITools.SetStarShow(stars, heroInfo.star.Value);
  51. switch (heroInfo.modelConfig.rarity)
  52. {
  53. case 1:
  54. heroRarity.text = LanguageManager.Instance.Text(32);
  55. break;
  56. case 2:
  57. heroRarity.text = LanguageManager.Instance.Text(31);
  58. break;
  59. case 3:
  60. heroRarity.text = LanguageManager.Instance.Text(30);
  61. break;
  62. default:
  63. LogTool.Error("找不到hero的稀有度:" + heroInfo.modelConfig.ID);
  64. break;
  65. }
  66. UpdateAttributeUI();
  67. }
  68. public void UpdateAttributeUI()
  69. {
  70. txtHP.text = heroInfo.hp.Value.ToString();
  71. txtATK.text = heroInfo.attack.Value.ToString();
  72. txtDEF.text = heroInfo.defense.Value.ToString();
  73. txtSHANBI.text = heroInfo.shanbi.Value.ToString();
  74. txtLv.text = heroInfo.level.Value.ToString();
  75. txtExpGain.text = heroInfo.expGain.Value.ToString();
  76. }
  77. }
  78. }