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);
}
}
}