using System.Collections.Generic; using System.Linq; using Core.Language; using Excel2Json; using Fort23.Core; using UnityEngine; using UnityEngine.UI; namespace Fort23.Mono { [UIBinding(prefab = "EventLogWidget")] public partial class EventLogWidget : ItemWidgetBasic { private XianTuLogConfig _xianTuLogConfig; List eventMinLogWidgets = new List(); private void Init() { } public override void AddEvent() { } public override void DelEvent() { } public override void AddButtonEvent() { base.AddButtonEvent(); Btn_HuiGu.onClick.AddListener(() => { XianTuLogInfoPanel.OpenPanel(2,_xianTuLogConfig.ID); }); } public async CTask CustomInit(XianTuLogConfig xianTuLogConfig, List places) { _xianTuLogConfig = xianTuLogConfig; Text_Title.text = LanguageManager.Instance.Text(xianTuLogConfig.Title); Text_Desc.text = LanguageManager.Instance.Text(xianTuLogConfig.Desc); if (EventSystemManager.Instance.eventConfigsMap.ContainsKey(_xianTuLogConfig.ID)) { var configs = EventSystemManager.Instance.eventConfigsMap[_xianTuLogConfig.ID]; foreach (var eventConfig in configs) { AccountFileInfo.EventList eventList = AccountFileInfo.Instance.playerData.completeEvents.FirstOrDefault(cl => cl.eventID == eventConfig.ID); EventMinLogWidget eventMinLogWidget = await UIManager.Instance.CreateGComponent(null, Connect); eventMinLogWidget.CustomInit(eventConfig.ID, eventList,places); eventMinLogWidgets.Add(eventMinLogWidget); } } LayoutRebuilder.ForceRebuildLayoutImmediate(Connect); LayoutRebuilder.ForceRebuildLayoutImmediate(Connect.transform.parent.GetComponent()); } public override void DormancyObj() { foreach (var eventMinLogWidget in eventMinLogWidgets) { UIManager.Instance.DormancyGComponent(eventMinLogWidget); } eventMinLogWidgets.Clear(); base.DormancyObj(); } } }