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(_xianTuLogConfig.ID); }); } public async CTask CustomInit(XianTuLogConfig xianTuLogConfig) { _xianTuLogConfig = xianTuLogConfig; Text_Title.text = LanguageManager.Instance.Text(xianTuLogConfig.Ttile); Text_Desc.text = LanguageManager.Instance.Text(xianTuLogConfig.Desc); 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); 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(); } } }