From 9c639d711300f6c7dbd7175bfad207f7ab30feef Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期四, 30 八月 2018 16:36:13 +0800
Subject: [PATCH] 2960 对活动线路进行排序
---
System/WorldMap/MapModel.cs | 38 ++++++++++++++++++++++++++++++++++++--
1 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/System/WorldMap/MapModel.cs b/System/WorldMap/MapModel.cs
index 5118ce7..0a11480 100644
--- a/System/WorldMap/MapModel.cs
+++ b/System/WorldMap/MapModel.cs
@@ -37,6 +37,7 @@
List<int> sortedMapEventPoints = new List<int>();
List<int> sortedHangUpPoints = new List<int>();
List<int> sortedMaps = new List<int>();
+ List<MapLine> sortedMapLines = new List<MapLine>();
int m_NewUnLockedMap = 0;
public int newUnLockedMap {
@@ -185,13 +186,35 @@
public List<MapLine> GetMapLines(int _mapId)
{
+ sortedMapLines.Clear();
if (mapLines.ContainsKey(_mapId))
{
- return mapLines[_mapId];
+ sortedMapLines.AddRange(mapLines[_mapId]);
+ CheckActivityLine();
+ sortedMapLines.Sort(SortMaplines);
+ return sortedMapLines;
}
else
{
return null;
+ }
+ }
+
+ void CheckActivityLine()
+ {
+ var activityLine = 0;
+ fairyGrabBossModel.TryGetFairyGrabBossLine(out activityLine);
+ if (activityLine != 0 && !fairyGrabBossModel.InActivityTime
+ && PlayerDatas.Instance.baseData.FBID != activityLine)
+ {
+ var index = sortedMapLines.FindIndex((x) =>
+ {
+ return activityLine + 1 == x.lineIndex;
+ });
+ if (index != -1)
+ {
+ sortedMapLines.RemoveAt(index);
+ }
}
}
@@ -627,7 +650,18 @@
}
-
+ int SortMaplines(MapLine x, MapLine y)
+ {
+ var activityline = 0;
+ fairyGrabBossModel.TryGetFairyGrabBossLine(out activityline);
+ bool _isActivityLinex = activityline != 0 && x.lineIndex == activityline + 1;
+ bool _isActivityLiney = activityline != 0 && y.lineIndex == activityline + 1;
+ if (_isActivityLinex != _isActivityLiney)
+ {
+ return -_isActivityLinex.CompareTo(_isActivityLiney);
+ }
+ return x.lineIndex.CompareTo(y.lineIndex);
+ }
}
public struct WorldMapArea
--
Gitblit v1.8.0