少年修仙传客户端代码仓库
client_linchunjie
2018-08-30 9c639d711300f6c7dbd7175bfad207f7ab30feef
2960 对活动线路进行排序
1个文件已修改
38 ■■■■■ 已修改文件
System/WorldMap/MapModel.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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