MainHeroPanel.cs 2.2 KB

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