HeroBreakthroughSuccessPanel.cs 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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 = "HeroBreakthroughSuccessPanel")]
  10. public partial class HeroBreakthroughSuccessPanel : UIPanel
  11. {
  12. List<HeroAttributeWidget> heroAttributeWidgets = new List<HeroAttributeWidget>();
  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<HeroBreakthroughSuccessPanel> OpenPanel(List<HeroAttributeData> heroAttributes)
  27. {
  28. HeroBreakthroughSuccessPanel heroBreakthroughSuccessPanel = await UIManager.Instance.LoadAndOpenPanel<HeroBreakthroughSuccessPanel>(null);
  29. heroBreakthroughSuccessPanel.CustomInit(heroAttributes);
  30. return heroBreakthroughSuccessPanel;
  31. }
  32. public async void CustomInit(List<HeroAttributeData> heroAttributes)
  33. {
  34. HeroInfo heroInfo = new HeroInfo();
  35. heroInfo.InitHero(PlayerManager.Instance.myHero.heroData.heroModelId, PlayerManager.Instance.myHero.heroData.heroPowerId + 1);
  36. Text_CurretnJIngjie.text = LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[0]) +
  37. LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[1]) +
  38. LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[2]);
  39. Text_NextJIngjie.text = LanguageManager.Instance.Text(heroInfo.powerUpConfig.jingjieLanIDs[0]) +
  40. LanguageManager.Instance.Text(heroInfo.powerUpConfig.jingjieLanIDs[1]) +
  41. LanguageManager.Instance.Text(heroInfo.powerUpConfig.jingjieLanIDs[2]);
  42. foreach (var heroAttributeData in heroAttributes)
  43. {
  44. HeroAttributeWidget heroAttributeWidget = await UIManager.Instance.CreateGComponent<HeroAttributeWidget>(null, AttributeRoot);
  45. heroAttributeWidget.CustomInit(heroAttributeData);
  46. heroAttributeWidgets.Add(heroAttributeWidget);
  47. }
  48. LayoutRebuilder.ForceRebuildLayoutImmediate(AttributeRoot);
  49. LayoutRebuilder.ForceRebuildLayoutImmediate(AttributeRoot.parent.GetComponent<RectTransform>());
  50. }
  51. public override void Close()
  52. {
  53. foreach (var heroAttributeWidget in heroAttributeWidgets)
  54. {
  55. UIManager.Instance.DormancyGComponent(heroAttributeWidget);
  56. }
  57. heroAttributeWidgets.Clear();
  58. base.Close();
  59. }
  60. }
  61. }