using System.Collections.Generic; using System.Linq; using Core.Language; using Excel2Json; using Fort23.Core; using Fort23.UTool; using UnityEngine; namespace Fort23.Mono { public class XianTuLogInfoData { /// /// 1.大标题 2.标题 3.描述 /// public int type; public string message; } [UIBinding(prefab = "XianTuLogInfoPanel")] public partial class XianTuLogInfoPanel : UIPanel, IScrollListContent { private XianTuLogConfig _xianTuLogConfig; List showXianTuLogInfoData = new List(); List components = new List(); private void Init() { } protected override void AddEvent() { } protected override void DelEvent() { } public override void AddButtonEvent() { Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); }); } public void CustomInit(int id) { showXianTuLogInfoData.Clear(); _xianTuLogConfig = ConfigComponent.Instance.Get(id); XianTuLogInfoData xianTuLogInfoData3 = new XianTuLogInfoData(); xianTuLogInfoData3.type = 1; xianTuLogInfoData3.message = "北海"; showXianTuLogInfoData.Add(xianTuLogInfoData3); foreach (var @e in _xianTuLogConfig.Events) { EventConfig eventConfig = ConfigComponent.Instance.Get(e); AccountFileInfo.EventList eventList = AccountFileInfo.Instance.playerData.completeEvents.FirstOrDefault(cl => cl.eventID == e); if (eventList == null) { // XianTuLogInfoData xianTuLogInfoData = new XianTuLogInfoData(); // xianTuLogInfoData.type = 2; // xianTuLogInfoData.message = "????????"; // // XianTuLogInfoData xianTuLogInfoData1 = new XianTuLogInfoData(); // xianTuLogInfoData1.type = 3; // xianTuLogInfoData1.message = "?????????????????????????????????"; // // showXianTuLogInfoData.Add(xianTuLogInfoData); // showXianTuLogInfoData.Add(xianTuLogInfoData1); } else { XianTuLogInfoData xianTuLogInfoData = new XianTuLogInfoData(); xianTuLogInfoData.type = 2; xianTuLogInfoData.message = LanguageManager.Instance.Text(eventConfig.EventName); showXianTuLogInfoData.Add(xianTuLogInfoData); foreach (var eventListSelectEventLinkId in eventList.selectEventLinkIds) { EventLinkConfig eventLinkConfig = ConfigComponent.Instance.Get(eventListSelectEventLinkId); if (eventLinkConfig.LanID != null) { foreach (var i in eventLinkConfig.LanID) { XianTuLogInfoData xianTuLogInfoData1 = new XianTuLogInfoData(); xianTuLogInfoData1.type = 3; xianTuLogInfoData1.message = LanguageManager.Instance.Text(i); showXianTuLogInfoData.Add(xianTuLogInfoData1); } } } } } Content.Init(this, showXianTuLogInfoData.Count); } public async CTask GetIScorllListWidget(int index, RectTransform root) { if (index < 0 || index >= showXianTuLogInfoData.Count) { return null; } XianTuLogInfoData xianTuLogInfoData = showXianTuLogInfoData[index]; if (xianTuLogInfoData.type == 1) { EventLogTitleWidget eventLogTitleWidget = await UIManager.Instance.CreateGComponent(null, ContentRoot); eventLogTitleWidget.CustomInit(xianTuLogInfoData.message); components.Add(eventLogTitleWidget); return eventLogTitleWidget; } else if (xianTuLogInfoData.type == 2) { EventLogInfoWidget eventLogInfoWidget = await UIManager.Instance.CreateGComponent(null, ContentRoot); eventLogInfoWidget.CustomInit(xianTuLogInfoData.message); components.Add(eventLogInfoWidget); return eventLogInfoWidget; } else if (xianTuLogInfoData.type == 3) { EventLogMessageWidget eventLogInfoWidget = await UIManager.Instance.CreateGComponent(null, ContentRoot); eventLogInfoWidget.CustomInit(xianTuLogInfoData.message); components.Add(eventLogInfoWidget); return eventLogInfoWidget; } return null; } public void HindIScorllListWidget(IScorllListWidget widget) { UIManager.Instance.DormancyGComponent(widget as UIComponent); } public override void Close() { showXianTuLogInfoData.Clear(); foreach (var uiComponent in components) { UIManager.Instance.DormancyGComponent(uiComponent); } components.Clear(); base.Close(); } public async static CTask OpenPanel(int id) { XianTuLogInfoPanel xianTuLogInfoPanel = await UIManager.Instance.LoadAndOpenPanel(null); xianTuLogInfoPanel.CustomInit(id); } } }