MainHeroPanel.cs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. using System.Collections.Generic;
  2. using Fort23.Core;
  3. using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
  4. namespace Fort23.Mono
  5. {
  6. [UIBinding(prefab = "MainHeroPanel")]
  7. public partial class MainHeroPanel : UIPanel
  8. {
  9. List<BtnFaBaoWidget> btnFaBaoWidgets = new List<BtnFaBaoWidget>();
  10. private void Init()
  11. {
  12. isAddStack = true;
  13. }
  14. protected override void AddEvent()
  15. {
  16. }
  17. protected override void DelEvent()
  18. {
  19. }
  20. public override CTask GetFocus()
  21. {
  22. AppBarPanel.OpenPanel(this);
  23. return base.GetFocus();
  24. }
  25. public override CTask LoseFocus()
  26. {
  27. // AppBarPanel.ClosePanel();
  28. return base.LoseFocus();
  29. }
  30. public override void AddButtonEvent()
  31. {
  32. Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
  33. }
  34. public async void CustomInit()
  35. {
  36. for (int i = 0; i < 4; i++)
  37. {
  38. BtnFaBaoWidget btnFaBaoWidget =
  39. await UIManager.Instance.CreateGComponent<BtnFaBaoWidget>(null, FaBaoRoot);
  40. btnFaBaoWidget.CustomInit(i);
  41. btnFaBaoWidget.OnClick = OnClick;
  42. btnFaBaoWidgets.Add(btnFaBaoWidget);
  43. }
  44. }
  45. private async void OnClick(ItemWidgetBasic obj)
  46. {
  47. BtnFaBaoWidget btnFaBaoWidget = obj as BtnFaBaoWidget;
  48. if (btnFaBaoWidget.index > PlayerManager.Instance.myHero.powerUpConfig.MaxFabaoNum - 1)
  49. {
  50. TipMessagePanel.OpenTipMessagePanel("当前位置未解锁");
  51. return;
  52. }
  53. SelectFaBaoPanel selectFaBaoPanel = await SelectFaBaoPanel.OpenPanel(btnFaBaoWidget.index);
  54. await selectFaBaoPanel.UIClosed();
  55. foreach (var b in btnFaBaoWidgets)
  56. {
  57. b.CustomInit(b.index);
  58. }
  59. }
  60. public async static CTask<MainHeroPanel> OpenPanel()
  61. {
  62. MainHeroPanel mainHeroPanel = await UIManager.Instance.LoadAndOpenPanel<MainHeroPanel>(null);
  63. mainHeroPanel.CustomInit();
  64. return mainHeroPanel;
  65. }
  66. public override void Close()
  67. {
  68. foreach (var btnFaBaoWidget in btnFaBaoWidgets)
  69. {
  70. UIManager.Instance.DormancyGComponent(btnFaBaoWidget);
  71. }
  72. btnFaBaoWidgets.Clear();
  73. base.Close();
  74. }
  75. }
  76. }