XianTuLogPanel.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using Excel2Json;
  4. using Fort23.Core;
  5. using Fort23.UTool;
  6. using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
  7. using UnityEngine;
  8. namespace Fort23.Mono
  9. {
  10. [UIBinding(prefab = "XianTuLogPanel")]
  11. public partial class XianTuLogPanel : UIPanel, IScrollListContent
  12. {
  13. List<XianTuLogConfig> xianTuLogConfigs = new List<XianTuLogConfig>();
  14. List<XianTuLogConfig> shoeXianTuLogConfigs = new List<XianTuLogConfig>();
  15. private void Init()
  16. {
  17. isAddStack = true;
  18. IsShowAppBar = false;
  19. }
  20. protected override void AddEvent()
  21. {
  22. }
  23. protected override void DelEvent()
  24. {
  25. }
  26. public override void AddButtonEvent()
  27. {
  28. Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });
  29. }
  30. public override CTask<bool> AsyncInit(object[] uiData)
  31. {
  32. xianTuLogConfigs = ConfigComponent.Instance.GetAll<XianTuLogConfig>().ToList();
  33. shoeXianTuLogConfigs = GetTypeXiantuLogConfigs(1);
  34. Content.Init(this, shoeXianTuLogConfigs.Count);
  35. return base.AsyncInit(uiData);
  36. }
  37. private List<XianTuLogConfig> GetTypeXiantuLogConfigs(int type)
  38. {
  39. List<XianTuLogConfig> xiaNTYULogConfigs = new List<XianTuLogConfig>();
  40. foreach (var xianTuLogConfig in xianTuLogConfigs)
  41. {
  42. if (xianTuLogConfig.EventType == type)
  43. {
  44. xiaNTYULogConfigs.Add(xianTuLogConfig);
  45. }
  46. }
  47. return xiaNTYULogConfigs;
  48. }
  49. public async CTask<IScorllListWidget> GetIScorllListWidget(int index, RectTransform root)
  50. {
  51. if (index < 0 || index >= shoeXianTuLogConfigs.Count)
  52. {
  53. return null;
  54. }
  55. MainEventLogWidget mainEventLogWidget = await UIManager.Instance.CreateGComponent<MainEventLogWidget>(null, Content.GetComponent<RectTransform>());
  56. mainEventLogWidget.CustomInit(shoeXianTuLogConfigs[index]);
  57. return mainEventLogWidget;
  58. }
  59. public void HindIScorllListWidget(IScorllListWidget widget)
  60. {
  61. UIManager.Instance.DormancyGComponent(widget as UIComponent);
  62. }
  63. public async static CTask OpenPanel()
  64. {
  65. XianTuLogPanel xianTuLogPanel = await UIManager.Instance.LoadAndOpenPanel<XianTuLogPanel>(null);
  66. }
  67. }
  68. }