|
@@ -5,6 +5,7 @@ using Excel2Json;
|
|
using Fort23.Core;
|
|
using Fort23.Core;
|
|
using Fort23.UTool;
|
|
using Fort23.UTool;
|
|
using UnityEngine;
|
|
using UnityEngine;
|
|
|
|
+using Utility;
|
|
|
|
|
|
namespace Fort23.Mono
|
|
namespace Fort23.Mono
|
|
{
|
|
{
|
|
@@ -23,13 +24,17 @@ namespace Fort23.Mono
|
|
public partial class XianTuLogInfoPanel : UIPanel, IScrollListContent
|
|
public partial class XianTuLogInfoPanel : UIPanel, IScrollListContent
|
|
{
|
|
{
|
|
private EventLogTitleWidget eventLogTitleWidget;
|
|
private EventLogTitleWidget eventLogTitleWidget;
|
|
-
|
|
|
|
|
|
+
|
|
private XianTuLogConfig _xianTuLogConfig;
|
|
private XianTuLogConfig _xianTuLogConfig;
|
|
|
|
|
|
List<XianTuLogInfoData> showXianTuLogInfoData = new List<XianTuLogInfoData>();
|
|
List<XianTuLogInfoData> showXianTuLogInfoData = new List<XianTuLogInfoData>();
|
|
|
|
|
|
List<UIComponent> components = new List<UIComponent>();
|
|
List<UIComponent> components = new List<UIComponent>();
|
|
|
|
|
|
|
|
+ List<EventLogTitleWidget> titleWidgets = new List<EventLogTitleWidget>();
|
|
|
|
+
|
|
|
|
+ private int type;
|
|
|
|
+
|
|
private void Init()
|
|
private void Init()
|
|
{
|
|
{
|
|
}
|
|
}
|
|
@@ -49,61 +54,92 @@ namespace Fort23.Mono
|
|
|
|
|
|
public async void CustomInit(int type, int id)
|
|
public async void CustomInit(int type, int id)
|
|
{
|
|
{
|
|
- // eventLogTitleWidget = await UIManager.Instance.CreateGComponentForObject<EventLogTitleWidget>(gam, null);
|
|
|
|
|
|
+ this.type = type;
|
|
|
|
+ eventLogTitleWidget = await UIManager.Instance.CreateGComponentForObject<EventLogTitleWidget>(EventLogTitleWidget, null);
|
|
|
|
+ Map<int, List<EventConfig>> eventConfigMap = new Map<int, List<EventConfig>>();
|
|
|
|
+
|
|
|
|
|
|
-
|
|
|
|
showXianTuLogInfoData.Clear();
|
|
showXianTuLogInfoData.Clear();
|
|
_xianTuLogConfig = ConfigComponent.Instance.Get<XianTuLogConfig>(id);
|
|
_xianTuLogConfig = ConfigComponent.Instance.Get<XianTuLogConfig>(id);
|
|
- XianTuLogInfoData xianTuLogInfoData3 = new XianTuLogInfoData();
|
|
|
|
- xianTuLogInfoData3.type = 1;
|
|
|
|
- xianTuLogInfoData3.message = "北海";
|
|
|
|
- showXianTuLogInfoData.Add(xianTuLogInfoData3);
|
|
|
|
|
|
+
|
|
var configs = EventSystemManager.Instance.eventConfigsMap[_xianTuLogConfig.ID];
|
|
var configs = EventSystemManager.Instance.eventConfigsMap[_xianTuLogConfig.ID];
|
|
|
|
+
|
|
foreach (var @c in configs)
|
|
foreach (var @c in configs)
|
|
{
|
|
{
|
|
EventConfig eventConfig = c;
|
|
EventConfig eventConfig = c;
|
|
- AccountFileInfo.EventList eventList = AccountFileInfo.Instance.playerData.completeEvents.FirstOrDefault(cl => cl.eventID == c.ID);
|
|
|
|
- if (eventList == null)
|
|
|
|
|
|
+ if (!eventConfigMap.ContainsKey(eventConfig.placeID))
|
|
|
|
+ {
|
|
|
|
+ eventConfigMap.Add(eventConfig.placeID, new List<EventConfig>());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ eventConfigMap[eventConfig.placeID].Add(eventConfig);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ foreach (var keyValuePair in eventConfigMap)
|
|
|
|
+ {
|
|
|
|
+ if (type == 1)
|
|
{
|
|
{
|
|
- //主线没有做不显示问好
|
|
|
|
- if (_xianTuLogConfig.EventType == 2)
|
|
|
|
|
|
+ PlacesConfig placesConfig = ConfigComponent.Instance.Get<PlacesConfig>(keyValuePair.Key);
|
|
|
|
+ XianTuLogInfoData xianTuLogInfoData3 = new XianTuLogInfoData();
|
|
|
|
+ xianTuLogInfoData3.type = 1;
|
|
|
|
+ xianTuLogInfoData3.message = LanguageManager.Instance.Text(placesConfig.placeName);
|
|
|
|
+ showXianTuLogInfoData.Add(xianTuLogInfoData3);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ foreach (var eventConfig in keyValuePair.Value)
|
|
|
|
+ {
|
|
|
|
+ AccountFileInfo.EventList eventList = AccountFileInfo.Instance.playerData.completeEvents.FirstOrDefault(cl => cl.eventID == eventConfig.ID);
|
|
|
|
+ if (eventList == null)
|
|
|
|
+ {
|
|
|
|
+ //主线没有做不显示问好
|
|
|
|
+ if (_xianTuLogConfig.EventType == 2)
|
|
|
|
+ {
|
|
|
|
+ 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 xianTuLogInfoData = new XianTuLogInfoData();
|
|
xianTuLogInfoData.type = 2;
|
|
xianTuLogInfoData.type = 2;
|
|
- xianTuLogInfoData.message = "????????";
|
|
|
|
-
|
|
|
|
- XianTuLogInfoData xianTuLogInfoData1 = new XianTuLogInfoData();
|
|
|
|
- xianTuLogInfoData1.type = 3;
|
|
|
|
- xianTuLogInfoData1.message = "?????????????????????????????????";
|
|
|
|
-
|
|
|
|
|
|
+ xianTuLogInfoData.message = LanguageManager.Instance.Text(eventConfig.EventName);
|
|
showXianTuLogInfoData.Add(xianTuLogInfoData);
|
|
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<EventLinkConfig>(eventListSelectEventLinkId);
|
|
|
|
- if (eventLinkConfig.LanID != null)
|
|
|
|
|
|
+ foreach (var eventListSelectEventLinkId in eventList.selectEventLinkIds)
|
|
{
|
|
{
|
|
- foreach (var i in eventLinkConfig.LanID)
|
|
|
|
|
|
+ EventLinkConfig eventLinkConfig = ConfigComponent.Instance.Get<EventLinkConfig>(eventListSelectEventLinkId);
|
|
|
|
+ if (eventLinkConfig.LanID != null)
|
|
{
|
|
{
|
|
- XianTuLogInfoData xianTuLogInfoData1 = new XianTuLogInfoData();
|
|
|
|
- xianTuLogInfoData1.type = 3;
|
|
|
|
- xianTuLogInfoData1.message = LanguageManager.Instance.Text(i);
|
|
|
|
- showXianTuLogInfoData.Add(xianTuLogInfoData1);
|
|
|
|
|
|
+ foreach (var i in eventLinkConfig.LanID)
|
|
|
|
+ {
|
|
|
|
+ XianTuLogInfoData xianTuLogInfoData1 = new XianTuLogInfoData();
|
|
|
|
+ xianTuLogInfoData1.type = 3;
|
|
|
|
+ xianTuLogInfoData1.message = LanguageManager.Instance.Text(i);
|
|
|
|
+ showXianTuLogInfoData.Add(xianTuLogInfoData1);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (type == 1)
|
|
|
|
+ {
|
|
|
|
+ // eventLogTitleWidget.SetActive(true);
|
|
|
|
+ eventLogTitleWidget.CustomInit(showXianTuLogInfoData[0].message);
|
|
|
|
+ eventLogTitleWidget.own.SetActive(true);
|
|
|
|
+ }
|
|
|
|
+ else if (type == 2)
|
|
|
|
+ {
|
|
|
|
+ eventLogTitleWidget.own.SetActive(false);
|
|
|
|
+ }
|
|
|
|
|
|
Content.Init(this, showXianTuLogInfoData.Count);
|
|
Content.Init(this, showXianTuLogInfoData.Count);
|
|
}
|
|
}
|
|
@@ -121,6 +157,7 @@ namespace Fort23.Mono
|
|
{
|
|
{
|
|
EventLogTitleWidget eventLogTitleWidget = await UIManager.Instance.CreateGComponent<EventLogTitleWidget>(null, ContentRoot);
|
|
EventLogTitleWidget eventLogTitleWidget = await UIManager.Instance.CreateGComponent<EventLogTitleWidget>(null, ContentRoot);
|
|
eventLogTitleWidget.CustomInit(xianTuLogInfoData.message);
|
|
eventLogTitleWidget.CustomInit(xianTuLogInfoData.message);
|
|
|
|
+ titleWidgets.Add(eventLogTitleWidget);
|
|
components.Add(eventLogTitleWidget);
|
|
components.Add(eventLogTitleWidget);
|
|
return eventLogTitleWidget;
|
|
return eventLogTitleWidget;
|
|
}
|
|
}
|
|
@@ -145,6 +182,15 @@ namespace Fort23.Mono
|
|
public void HindIScorllListWidget(IScorllListWidget widget)
|
|
public void HindIScorllListWidget(IScorllListWidget widget)
|
|
{
|
|
{
|
|
UIManager.Instance.DormancyGComponent(widget as UIComponent);
|
|
UIManager.Instance.DormancyGComponent(widget as UIComponent);
|
|
|
|
+ if (components.Contains(widget as UIComponent))
|
|
|
|
+ {
|
|
|
|
+ components.Remove(widget as UIComponent);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (titleWidgets.Contains(widget as EventLogTitleWidget))
|
|
|
|
+ {
|
|
|
|
+ titleWidgets.Remove(widget as EventLogTitleWidget);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
public override void Close()
|
|
public override void Close()
|
|
@@ -156,14 +202,44 @@ namespace Fort23.Mono
|
|
}
|
|
}
|
|
|
|
|
|
components.Clear();
|
|
components.Clear();
|
|
|
|
+ titleWidgets.Clear();
|
|
|
|
|
|
base.Close();
|
|
base.Close();
|
|
}
|
|
}
|
|
|
|
|
|
- public async static CTask OpenPanel(int type,int id)
|
|
|
|
|
|
+ [CustomMethod(CustomMethodType.Update)]
|
|
|
|
+ public void Update()
|
|
|
|
+ {
|
|
|
|
+ if (type != 2)
|
|
|
|
+ return;
|
|
|
|
+ EventLogTitleWidget highestItem = null;
|
|
|
|
+ float maxY = float.MinValue;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ foreach (var xianTuTitleWidget in titleWidgets)
|
|
|
|
+ {
|
|
|
|
+ float itemY = xianTuTitleWidget.own.transform.position.y; // 使用世界坐标的 Y 值
|
|
|
|
+ if (itemY > maxY)
|
|
|
|
+ {
|
|
|
|
+ maxY = itemY;
|
|
|
|
+ highestItem = xianTuTitleWidget;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (highestItem != null)
|
|
|
|
+ {
|
|
|
|
+ float outsideY = eventLogTitleWidget.own.transform.position.y;
|
|
|
|
+ if (maxY > outsideY - 5)
|
|
|
|
+ {
|
|
|
|
+ eventLogTitleWidget.CustomInit(highestItem.Text_Name.text);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public async static CTask OpenPanel(int type, int id)
|
|
{
|
|
{
|
|
XianTuLogInfoPanel xianTuLogInfoPanel = await UIManager.Instance.LoadAndOpenPanel<XianTuLogInfoPanel>(null);
|
|
XianTuLogInfoPanel xianTuLogInfoPanel = await UIManager.Instance.LoadAndOpenPanel<XianTuLogInfoPanel>(null);
|
|
- xianTuLogInfoPanel.CustomInit(type,id);
|
|
|
|
|
|
+ xianTuLogInfoPanel.CustomInit(type, id);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|