EventLogWidget.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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. bool isUlock = false;
  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 =
  42. AccountFileInfo.Instance.playerData.completeEvents.FirstOrDefault(cl =>
  43. cl.eventID == eventConfig.ID);
  44. if (eventList == null)
  45. {
  46. eventList = AccountFileInfo.Instance.playerData.eventList.FirstOrDefault(cl =>
  47. cl.eventID == eventConfig.ID);
  48. }
  49. if (eventList != null && eventList.isCompleted)
  50. {
  51. isUlock = true;
  52. }
  53. EventMinLogWidget eventMinLogWidget =
  54. await UIManager.Instance.CreateGComponent<EventMinLogWidget>(null, Connect);
  55. eventMinLogWidget.CustomInit(eventConfig.ID, eventList, places);
  56. eventMinLogWidgets.Add(eventMinLogWidget);
  57. }
  58. }
  59. if (isUlock)
  60. {
  61. Text_Desc.text = LanguageManager.Instance.Text(_xianTuLogConfig.Desc);
  62. }
  63. else
  64. {
  65. Text_Desc.text = "?????????????????";
  66. }
  67. LayoutRebuilder.ForceRebuildLayoutImmediate(Connect);
  68. LayoutRebuilder.ForceRebuildLayoutImmediate(Connect.transform.parent.GetComponent<RectTransform>());
  69. }
  70. public override void DormancyObj()
  71. {
  72. foreach (var eventMinLogWidget in eventMinLogWidgets)
  73. {
  74. UIManager.Instance.DormancyGComponent(eventMinLogWidget);
  75. }
  76. eventMinLogWidgets.Clear();
  77. XianTuData = null;
  78. base.DormancyObj();
  79. }
  80. }
  81. }