EventLogWidget.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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(2,_xianTuLogConfig.ID); });
  28. }
  29. public async CTask CustomInit(XianTuLogConfig xianTuLogConfig, List<int> places)
  30. {
  31. _xianTuLogConfig = xianTuLogConfig;
  32. Text_Title.text = LanguageManager.Instance.Text(xianTuLogConfig.Title);
  33. Text_Desc.text = LanguageManager.Instance.Text(xianTuLogConfig.Desc);
  34. if (EventSystemManager.Instance.eventConfigsMap.ContainsKey(_xianTuLogConfig.ID))
  35. {
  36. var configs = EventSystemManager.Instance.eventConfigsMap[_xianTuLogConfig.ID];
  37. foreach (var eventConfig in configs)
  38. {
  39. AccountFileInfo.EventList eventList = AccountFileInfo.Instance.playerData.completeEvents.FirstOrDefault(cl => cl.eventID == eventConfig.ID);
  40. EventMinLogWidget eventMinLogWidget = await UIManager.Instance.CreateGComponent<EventMinLogWidget>(null, Connect);
  41. eventMinLogWidget.CustomInit(eventConfig.ID, eventList,places);
  42. eventMinLogWidgets.Add(eventMinLogWidget);
  43. }
  44. }
  45. LayoutRebuilder.ForceRebuildLayoutImmediate(Connect);
  46. LayoutRebuilder.ForceRebuildLayoutImmediate(Connect.transform.parent.GetComponent<RectTransform>());
  47. }
  48. public override void DormancyObj()
  49. {
  50. foreach (var eventMinLogWidget in eventMinLogWidgets)
  51. {
  52. UIManager.Instance.DormancyGComponent(eventMinLogWidget);
  53. }
  54. eventMinLogWidgets.Clear();
  55. base.DormancyObj();
  56. }
  57. }
  58. }