HeroTuPoSuccessPanel.cs 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. using System.Collections.Generic;
  2. using Core.Language;
  3. using Fort23.Core;
  4. using GameLogic.Hero;
  5. using UnityEngine;
  6. using UnityEngine.UI;
  7. namespace Fort23.Mono
  8. {
  9. [UIBinding(prefab = "HeroTuPoSuccessPanel")]
  10. public partial class HeroTuPoSuccessPanel : UIPanel
  11. {
  12. List<UIComponent> heroAttributeWidgets = new List<UIComponent>();
  13. private void Init()
  14. {
  15. }
  16. protected override void AddEvent()
  17. {
  18. }
  19. protected override void DelEvent()
  20. {
  21. }
  22. public override void AddButtonEvent()
  23. {
  24. Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
  25. }
  26. public async static CTask<HeroTuPoSuccessPanel> OpenPanel(List<HeroAttributeData> heroAttributeDatas)
  27. {
  28. HeroTuPoSuccessPanel heroBreakthroughSuccessPanel =
  29. await UIManager.Instance.LoadAndOpenPanel<HeroTuPoSuccessPanel>(null, UILayer.Top,
  30. uiData: new object[] { heroAttributeDatas });
  31. return heroBreakthroughSuccessPanel;
  32. }
  33. public async override CTask<bool> AsyncInit(object[] uiData)
  34. {
  35. foreach (var heroAttributeWidget in heroAttributeWidgets)
  36. {
  37. UIManager.Instance.DormancyGComponent(heroAttributeWidget);
  38. }
  39. heroAttributeWidgets.Clear();
  40. List<HeroAttributeData> heroAttributeDatas = uiData[0] as List<HeroAttributeData>;
  41. foreach (var heroAttributeData in heroAttributeDatas)
  42. {
  43. HeroAttributeWidget heroAttributeWidget =
  44. await UIManager.Instance.CreateGComponent<HeroAttributeWidget>(null, AttributeRoot);
  45. heroAttributeWidget.CustomInit(heroAttributeData);
  46. heroAttributeWidgets.Add(heroAttributeWidget);
  47. }
  48. CustomInit();
  49. return await base.AsyncInit(uiData);
  50. }
  51. public async void CustomInit()
  52. {
  53. // HeroInfo heroInfo = new HeroInfo();
  54. HeroInfo heroInfo = PlayerManager.Instance.myHero.CopyHero();
  55. heroInfo.InitHero(PlayerManager.Instance.myHero.heroData.heroModelId,
  56. PlayerManager.Instance.myHero.heroData.heroPowerId - 1);
  57. Text_NextJIngjie.text =
  58. LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[0]) +
  59. LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[1]);
  60. Text_CurretnJIngjie.text = LanguageManager.Instance.Text(heroInfo.powerUpConfig.jingjieLanIDs[0]) +
  61. LanguageManager.Instance.Text(heroInfo.powerUpConfig.jingjieLanIDs[1]);
  62. }
  63. public override CTask Close()
  64. {
  65. foreach (var heroAttributeWidget in heroAttributeWidgets)
  66. {
  67. UIManager.Instance.DormancyGComponent(heroAttributeWidget);
  68. }
  69. heroAttributeWidgets.Clear();
  70. return base.Close();
  71. }
  72. }
  73. }