From d281404cc842371d9c484e61d86e314f23db81af Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期二, 04 十二月 2018 20:31:32 +0800
Subject: [PATCH] 2572 【1.3.100】小地图显示优化

---
 System/WorldMap/LocalMapFindPath.cs |   56 ++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 36 insertions(+), 20 deletions(-)

diff --git a/System/WorldMap/LocalMapFindPath.cs b/System/WorldMap/LocalMapFindPath.cs
index af519b7..c5f6ae4 100644
--- a/System/WorldMap/LocalMapFindPath.cs
+++ b/System/WorldMap/LocalMapFindPath.cs
@@ -32,16 +32,22 @@
         int mapId = 0;
         public void Init(int _mapId)
         {
-            if (_mapId != mapMatrix.mapId)
+            mapId = _mapId;
+            if (mapId != mapMatrix.mapId)
             {
                 PathPointClear();
             }
 
-            var job = PlayerDatas.Instance.baseData.Job;
-            m_HeroHead.SetSprite(GeneralDefine.GetJobHeadPortrait(job, 0));
-
-            mapId = _mapId;
-            var tagChinMap = Config.Instance.Get<MapConfig>(mapId);
+            if (mapId == PlayerDatas.Instance.baseData.MapID)
+            {
+                m_HeroHead.gameObject.SetActive(true);
+                var job = PlayerDatas.Instance.baseData.Job;
+                m_HeroHead.SetSprite(GeneralDefine.GetJobHeadPortrait(job, 0));
+            }
+            else
+            {
+                m_HeroHead.gameObject.SetActive(false);
+            }
 
             MapResourcesConfig mapResConfig = null;
             if (mapId == PlayerDatas.Instance.baseData.MapID)
@@ -80,19 +86,22 @@
             m_BoundDrag.onBeginDrag.AddListener(OnBeginDrag);
             model.selectMapEventPointEvent += FoucsEventPoint;
 
-            var hero = PlayerDatas.Instance.hero;
-            if (hero != null)
+            if (PlayerDatas.Instance.baseData.MapID == mapId)
             {
-                if (hero.PathFindStatus == GActor.E_PathFindStatus.Moving)
+                var hero = PlayerDatas.Instance.hero;
+                if (hero != null)
                 {
-                    OnHeroStartMove();
+                    if (hero.PathFindStatus == GActor.E_PathFindStatus.Moving)
+                    {
+                        OnHeroStartMove();
+                    }
+                    else
+                    {
+                        OnHeroStopMove();
+                    }
+                    hero.OnPathFinding += OnHeroStartMove;
+                    hero.OnPathFindStop += OnHeroStopMove;
                 }
-                else
-                {
-                    OnHeroStopMove();
-                }
-                hero.OnPathFinding += OnHeroStartMove;
-                hero.OnPathFindStop += OnHeroStopMove;
             }
         }
 
@@ -118,6 +127,11 @@
 
         void HeroMoveTo(Vector3 _position)
         {
+            if (mapId != PlayerDatas.Instance.baseData.MapID)
+            {
+                return;
+            }
+
             if (PlayerDatas.Instance.hero == null)
             {
                 return;
@@ -127,7 +141,6 @@
 
             PlayerDatas.Instance.hero.Behaviour.StopHandupAI();
             PlayerDatas.Instance.hero.IdleImmediate();
-
             PlayerDatas.Instance.hero.MoveToPosition(position);
         }
 
@@ -155,7 +168,10 @@
 
         private void LateUpdate()
         {
-            UpdateHeroPosition();
+            if (mapId == PlayerDatas.Instance.baseData.MapID)
+            {
+                UpdateHeroPosition();
+            }
         }
 
         Vector3 ScreenToWorldPosition(Vector3 _sp)
@@ -267,7 +283,7 @@
             var waypoints = Config.Instance.GetAllValues<maptransportConfig>();
             foreach (var waypoint in waypoints)
             {
-                if (waypoint.OriginalMapID == PlayerDatas.Instance.baseData.MapID)
+                if (waypoint.OriginalMapID == this.mapId)
                 {
                     DrawWayPoint(waypoint.TransportID);
                 }
@@ -292,7 +308,7 @@
             var npcRefreshIds = model.GetMapNPCRefreshIds(mapId);
             if (npcRefreshIds != null)
             {
-                foreach ( var item in   npcRefreshIds)
+                foreach (var item in npcRefreshIds)
                 {
                     var config = Config.Instance.Get<mapnpcConfig>(item);
                     var npcConfig = Config.Instance.Get<NPCConfig>(config.NPCID);

--
Gitblit v1.8.0