From c46c24e933bef1f29b140aceff6f6f178c23000e Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期四, 23 五月 2019 16:11:19 +0800
Subject: [PATCH] 6780 boss之家多地图合并。

---
 System/WorldMap/MapModel.cs |   28 +++++++++++++++-------------
 1 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/System/WorldMap/MapModel.cs b/System/WorldMap/MapModel.cs
index f28c363..64f6a74 100644
--- a/System/WorldMap/MapModel.cs
+++ b/System/WorldMap/MapModel.cs
@@ -263,11 +263,12 @@
             return new List<int>(worldMapAreas.Keys);
         }
 
-        public List<int> GetMapEventPoints(int _mapId)
+        public List<int> GetMapEventPoints(int dataMapId, int lineId)
         {
-            if (localMapEventPoints.ContainsKey(_mapId))
+            var key = dataMapId * 100 + lineId;
+            if (localMapEventPoints.ContainsKey(key))
             {
-                return localMapEventPoints[_mapId];
+                return localMapEventPoints[key];
             }
             else
             {
@@ -312,9 +313,9 @@
             }
         }
 
-        public int GetRecommendHangPoint(int _mapId)
+        public int GetRecommendHangPoint(int _mapId, int lineId)
         {
-            var eventPoints = new List<int>(GetMapEventPoints(_mapId));
+            var eventPoints = new List<int>(GetMapEventPoints(_mapId, lineId));
             for (int i = eventPoints.Count - 1; i >= 0; i--)
             {
                 var config = MapEventPointConfig.Get(eventPoints[i]);
@@ -394,7 +395,7 @@
             for (int i = 0; i < sortedHangUpPoints.Count; i++)
             {
                 var config = MapEventPointConfig.Get(sortedHangUpPoints[i]);
-                if (IsMapUnlocked(config.MapID))
+                if (IsMapUnlocked(MapUtility.GetMapId(config.DataMapID, config.LineId)))
                 {
                     unLockedHangeUpPoints.Add(sortedHangUpPoints[i]);
                 }
@@ -562,20 +563,20 @@
             var mapEventConfigs = MapEventPointConfig.GetValues();
             foreach (var config in mapEventConfigs)
             {
-                var mapId = config.MapID;
+                var mapId = MapUtility.GetMapId(config.DataMapID,config.LineId);
+                var key = config.DataMapID * 100 + config.LineId;
                 List<int> eventPointIds = null;
-                if (!localMapEventPoints.ContainsKey(mapId))
+                if (!localMapEventPoints.ContainsKey(key))
                 {
-                    localMapEventPoints[mapId] = eventPointIds = new List<int>();
+                    localMapEventPoints[key] = eventPointIds = new List<int>();
                 }
                 else
                 {
-                    eventPointIds = localMapEventPoints[mapId];
+                    eventPointIds = localMapEventPoints[key];
                 }
 
                 eventPointIds.Add(config.Key);
-
-                if (config.IsShowInfo == 1 && GeneralDefine.autoOnHookMap.Contains(config.MapID))
+                if (config.IsShowInfo == 1 && GeneralDefine.autoOnHookMap.Contains(mapId))
                 {
                     sortedMapEventPoints.Add(config.Key);
                 }
@@ -593,7 +594,8 @@
             {
                 var eventPoint = sortedMapEventPoints[i];
                 var config = MapEventPointConfig.Get(eventPoint);
-                if (GeneralDefine.autoOnHookMap.Contains(config.MapID))
+                var mapId = MapUtility.GetMapId(config.DataMapID,config.LineId);
+                if (GeneralDefine.autoOnHookMap.Contains(mapId))
                 {
                     sortedHangUpPoints.Add(eventPoint);
                 }

--
Gitblit v1.8.0