EventLogWidget.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. EventMinLogWidget eventMinLogWidget = await UIManager.Instance.CreateGComponent<EventMinLogWidget>(null, Connect);
  43. eventMinLogWidget.CustomInit(eventConfig.ID, eventList,places);
  44. eventMinLogWidgets.Add(eventMinLogWidget);
  45. }
  46. }
  47. LayoutRebuilder.ForceRebuildLayoutImmediate(Connect);
  48. LayoutRebuilder.ForceRebuildLayoutImmediate(Connect.transform.parent.GetComponent<RectTransform>());
  49. }
  50. public override void DormancyObj()
  51. {
  52. foreach (var eventMinLogWidget in eventMinLogWidgets)
  53. {
  54. UIManager.Instance.DormancyGComponent(eventMinLogWidget);
  55. }
  56. eventMinLogWidgets.Clear();
  57. XianTuData = null;
  58. base.DormancyObj();
  59. }
  60. }
  61. }