EventLogWidget.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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. public XianTuData XianTuData;
  16. private void Init()
  17. {
  18. }
  19. public override void AddEvent()
  20. {
  21. }
  22. public override void DelEvent()
  23. {
  24. }
  25. public override void AddButtonEvent()
  26. {
  27. base.AddButtonEvent();
  28. Btn_HuiGu.onClick.AddListener(() => { XianTuLogInfoPanel.OpenPanel(2,_xianTuLogConfig.ID); });
  29. }
  30. public async CTask CustomInit( XianTuData xianTuData, List<int> places)
  31. {
  32. XianTuData = xianTuData;
  33. _xianTuLogConfig = xianTuData.xianTuLogConfig;
  34. Text_Title.text = LanguageManager.Instance.Text(_xianTuLogConfig.Title);
  35. Text_Desc.text = LanguageManager.Instance.Text(_xianTuLogConfig.Desc);
  36. if (EventSystemManager.Instance.eventConfigsMap.ContainsKey(_xianTuLogConfig.ID))
  37. {
  38. var configs = EventSystemManager.Instance.eventConfigsMap[_xianTuLogConfig.ID];
  39. foreach (var eventConfig in configs)
  40. {
  41. AccountFileInfo.EventList eventList = AccountFileInfo.Instance.playerData.completeEvents.FirstOrDefault(cl => cl.eventID == eventConfig.ID);
  42. if (eventList == null)
  43. {
  44. eventList = AccountFileInfo.Instance.playerData.eventList.FirstOrDefault(cl => cl.eventID == eventConfig.ID);
  45. }
  46. EventMinLogWidget eventMinLogWidget = await UIManager.Instance.CreateGComponent<EventMinLogWidget>(null, Connect);
  47. eventMinLogWidget.CustomInit(eventConfig.ID, eventList,places);
  48. eventMinLogWidgets.Add(eventMinLogWidget);
  49. }
  50. }
  51. LayoutRebuilder.ForceRebuildLayoutImmediate(Connect);
  52. LayoutRebuilder.ForceRebuildLayoutImmediate(Connect.transform.parent.GetComponent<RectTransform>());
  53. }
  54. public override void DormancyObj()
  55. {
  56. foreach (var eventMinLogWidget in eventMinLogWidgets)
  57. {
  58. UIManager.Instance.DormancyGComponent(eventMinLogWidget);
  59. }
  60. eventMinLogWidgets.Clear();
  61. XianTuData = null;
  62. base.DormancyObj();
  63. }
  64. }
  65. }