EventLogWidget.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using Core.Language;
  4. using Excel2Json;
  5. using Fort23.Core;
  6. using UnityEngine;
  7. using UnityEngine.UI;
  8. namespace Fort23.Mono
  9. {
  10. [UIBinding(prefab = "EventLogWidget")]
  11. public partial class EventLogWidget : ItemWidgetBasic
  12. {
  13. private XianTuLogConfig _xianTuLogConfig;
  14. List<EventMinLogWidget> eventMinLogWidgets = new List<EventMinLogWidget>();
  15. private void Init()
  16. {
  17. }
  18. public override void AddEvent()
  19. {
  20. }
  21. public override void DelEvent()
  22. {
  23. }
  24. public override void AddButtonEvent()
  25. {
  26. base.AddButtonEvent();
  27. Btn_HuiGu.onClick.AddListener(() => { XianTuLogInfoPanel.OpenPanel(_xianTuLogConfig.ID); });
  28. }
  29. public async CTask CustomInit(XianTuLogConfig xianTuLogConfig)
  30. {
  31. _xianTuLogConfig = xianTuLogConfig;
  32. Text_Title.text = LanguageManager.Instance.Text(xianTuLogConfig.Ttile);
  33. Text_Desc.text = LanguageManager.Instance.Text(xianTuLogConfig.Desc);
  34. var configs = EventSystemManager.Instance.eventConfigsMap[_xianTuLogConfig.ID];
  35. foreach (var eventConfig in configs)
  36. {
  37. AccountFileInfo.EventList eventList = AccountFileInfo.Instance.playerData.completeEvents.FirstOrDefault(cl => cl.eventID == eventConfig.ID);
  38. EventMinLogWidget eventMinLogWidget = await UIManager.Instance.CreateGComponent<EventMinLogWidget>(null, Connect);
  39. eventMinLogWidget.CustomInit(eventConfig.ID,eventList);
  40. eventMinLogWidgets.Add(eventMinLogWidget);
  41. }
  42. LayoutRebuilder.ForceRebuildLayoutImmediate(Connect);
  43. LayoutRebuilder.ForceRebuildLayoutImmediate(Connect.transform.parent.GetComponent<RectTransform>());
  44. }
  45. public override void DormancyObj()
  46. {
  47. foreach (var eventMinLogWidget in eventMinLogWidgets)
  48. {
  49. UIManager.Instance.DormancyGComponent(eventMinLogWidget);
  50. }
  51. eventMinLogWidgets.Clear();
  52. base.DormancyObj();
  53. }
  54. }
  55. }