DaoYouGuaJiPanel.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using System.Collections.Generic;
  2. using Fort23.Core;
  3. namespace Fort23.Mono
  4. {
  5. [UIBinding(prefab = "DaoYouGuaJiPanel")]
  6. public partial class DaoYouGuaJiPanel : UIPanel
  7. {
  8. List<DaoYouGuaJiWidget> widgets = new List<DaoYouGuaJiWidget>();
  9. private void Init()
  10. {
  11. isAddStack = true;
  12. IsShowAppBar = false;
  13. }
  14. protected override void AddEvent()
  15. {
  16. }
  17. protected override void DelEvent()
  18. {
  19. }
  20. public override void AddButtonEvent()
  21. {
  22. Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
  23. Btn_DaoYouAward.onClick.AddListener(() => { DaoYouGuaJiAwardPanel.OpenPanel(); });
  24. }
  25. public async override CTask Show()
  26. {
  27. foreach (var daoYouGuaJiWidget in widgets)
  28. {
  29. UIManager.Instance.DormancyGComponent(daoYouGuaJiWidget);
  30. }
  31. widgets.Clear();
  32. foreach (var keyValuePair in AccountFileInfo.Instance.playerData.daoYouGuaiJiDatas)
  33. {
  34. DaoYouGuaJiWidget daoYouGuaJiWidget =
  35. await UIManager.Instance.CreateGComponent<DaoYouGuaJiWidget>(null, Content);
  36. daoYouGuaJiWidget.CustomInit(keyValuePair);
  37. widgets.Add(daoYouGuaJiWidget);
  38. }
  39. AccountFileInfo.Instance.playerData.daoYouGuaiJiDatas.RemoveAll(p => p.isLeave && p.items.Count <= 0);
  40. AccountFileInfo.Instance.SavePlayerData();
  41. base.Show();
  42. }
  43. public static async CTask OpenPanel()
  44. {
  45. await UIManager.Instance.LoadAndOpenPanel<DaoYouGuaJiPanel>(null);
  46. }
  47. public async override CTask Close()
  48. {
  49. foreach (var daoYouGuaJiWidget in widgets)
  50. {
  51. UIManager.Instance.DormancyGComponent(daoYouGuaJiWidget);
  52. }
  53. widgets.Clear();
  54. await base.Close();
  55. }
  56. }
  57. }