From d2a75acaf34a8e1c84d2e12414f4f7fe95feafa2 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期三, 14 十一月 2018 11:23:48 +0800
Subject: [PATCH] 382 地图区域判断逻辑修改

---
 Fight/Stage/Dungeon/MapArea.cs      |    5 +++++
 Fight/Stage/Dungeon/DungeonStage.cs |   15 ++++++++++++---
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/Fight/Stage/Dungeon/DungeonStage.cs b/Fight/Stage/Dungeon/DungeonStage.cs
index 5766516..7eaf131 100644
--- a/Fight/Stage/Dungeon/DungeonStage.cs
+++ b/Fight/Stage/Dungeon/DungeonStage.cs
@@ -60,7 +60,6 @@
         var _instance = TipPanel.Instance;
         WindowCenter.Instance.Open<MainInterfaceWin>(true);
 
-        GA_Hero.s_MapSwitching = false;
         GA_Hero.forceAutoFight = false;
 
         // if (PreFightMission.Instance.IsFinished() == false)
@@ -78,7 +77,7 @@
 
         CreateMapTransfer();
 
-        CreateMapArea();
+        StartCoroutine(CreateMapArea());
 
         var mapConfig = Config.Instance.Get<MapConfig>(PlayerDatas.Instance.baseData.MapID);
         var mapResConfig = DTCA127_tagMCStartChangeMap.GetMapResourcesConfig();
@@ -100,6 +99,7 @@
             WindowCenter.Instance.Open<AntiAddictionWin>();
         }
 
+        GA_Hero.s_MapSwitching = false;
     }
 
     public override void UnInitialize()
@@ -108,6 +108,13 @@
 
         if (s_MapAreaDict != null)
         {
+            foreach (var _list in s_MapAreaDict.Values)
+            {
+                for (int i = _list.Count - 1; i >= 0; --i)
+                {
+                    GameObject.Destroy(_list[i].gameObject);
+                }
+            }
             s_MapAreaDict.Clear();
             s_MapAreaDict = null;
         }
@@ -314,8 +321,10 @@
         }
     }
 
-    private void CreateMapArea()
+    private IEnumerator CreateMapArea()
     {
+        yield return WaitingForSecondConst.WaitMS200;
+
         var _dict = Config.Instance.GetAllValues<mapAreaConfig>();
 
         List<MapArea> _list = null;
diff --git a/Fight/Stage/Dungeon/MapArea.cs b/Fight/Stage/Dungeon/MapArea.cs
index 8e347f2..83cf3a6 100644
--- a/Fight/Stage/Dungeon/MapArea.cs
+++ b/Fight/Stage/Dungeon/MapArea.cs
@@ -79,6 +79,11 @@
 
     private void OnTriggerEnter(Collider other)
     {
+        if (GA_Hero.s_MapSwitching)
+        {
+            return;
+        }
+
         if (_type >= 3000)
         {
             SnxxzGame.Instance.MovingCamera(false, _type);

--
Gitblit v1.8.0