DaoYouPanel.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using System.Collections.Generic;
  2. using Excel2Json;
  3. using Fort23.Core;
  4. using Fort23.UTool;
  5. namespace Fort23.Mono
  6. {
  7. [UIBinding(prefab = "DaoYouPanel")]
  8. public partial class DaoYouPanel : UIPanel
  9. {
  10. List<DaoYouWidget> daoYouWidgets = new List<DaoYouWidget>();
  11. private void Init()
  12. {
  13. isAddStack = true;
  14. IsShowAppBar = true;
  15. }
  16. protected override void AddEvent()
  17. {
  18. }
  19. protected override void DelEvent()
  20. {
  21. }
  22. public override void AddButtonEvent()
  23. {
  24. }
  25. public override CTask GetFocus()
  26. {
  27. AppBarPanel.OpenPanel(this);
  28. return base.GetFocus();
  29. }
  30. public async override CTask<bool> AsyncInit(object[] uiData)
  31. {
  32. DaoyouModelConfig[] daoyouModelConfigs = ConfigComponent.Instance.GetAll<DaoyouModelConfig>();
  33. foreach (var daoyouModelConfig in daoyouModelConfigs)
  34. {
  35. DaoYouWidget daoYouWidget = await UIManager.Instance.CreateGComponent<DaoYouWidget>(null, Content);
  36. daoYouWidget.CustomInit(daoyouModelConfig.ID);
  37. daoYouWidget.OnClick = OnClick;
  38. daoYouWidgets.Add(daoYouWidget);
  39. }
  40. return await base.AsyncInit(uiData);
  41. }
  42. private void OnClick(ItemWidgetBasic obj)
  43. {
  44. DaoYouWidget daoYouWidget = obj as DaoYouWidget;
  45. if(daoYouWidget._daoYouData == null)
  46. return;
  47. DaoYouInfoPanel.OpenPanel(daoYouWidget._daoYouData);
  48. }
  49. public static async CTask OpenPanel()
  50. {
  51. await UIManager.Instance.LoadAndOpenPanel<DaoYouPanel>(null);
  52. }
  53. public override void Close()
  54. {
  55. foreach (var daoYouWidget in daoYouWidgets)
  56. {
  57. UIManager.Instance.DormancyGComponent(daoYouWidget);
  58. }
  59. daoYouWidgets.Clear();
  60. base.Close();
  61. }
  62. }
  63. }