HeroDetailPanel.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. PlayerManager.Instance.lastHeroInfo = heroInfo;
  40. EventManager.Instance.Dispatch(CustomEventType.HeroUpgrade, data);
  41. }
  42. private void OnClickClose()
  43. {
  44. UIManager.Instance.HideUIUIPanel(this);
  45. }
  46. public void InitHeroDetailPanel(HeroInfo heroInfo)
  47. {
  48. this.heroInfo = heroInfo;
  49. iconZhiYe.icon_name = heroInfo.iconZhiYe;
  50. heroName.text = LanguageManager.Instance.Text(heroInfo.modelConfig.name);
  51. HeroUITools.SetStarShow(stars, heroInfo.star.Value);
  52. switch (heroInfo.modelConfig.rarity)
  53. {
  54. case 1:
  55. heroRarity.text = LanguageManager.Instance.Text(32);
  56. break;
  57. case 2:
  58. heroRarity.text = LanguageManager.Instance.Text(31);
  59. break;
  60. case 3:
  61. heroRarity.text = LanguageManager.Instance.Text(30);
  62. break;
  63. default:
  64. LogTool.Error("找不到hero的稀有度:" + heroInfo.modelConfig.ID);
  65. break;
  66. }
  67. UpdateAttributeUI();
  68. }
  69. public void UpdateAttributeUI()
  70. {
  71. txtHP.text = heroInfo.hp.Value.ToString();
  72. txtATK.text = heroInfo.attack.Value.ToString();
  73. txtDEF.text = heroInfo.defense.Value.ToString();
  74. txtSHANBI.text = heroInfo.shanbi.Value.ToString();
  75. txtLv.text = heroInfo.level.Value.ToString();
  76. txtExpGain.text = heroInfo.expGain.Value.ToString();
  77. }
  78. }
  79. }