From b8bcfae71df34b7b422dd59741e1e9c0358e4142 Mon Sep 17 00:00:00 2001
From: client_Hale <339726288@qq.com>
Date: 星期四, 10 一月 2019 18:02:06 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts

---
 Core/GameEngine/Model/Player/PlayerDatas.cs |   28 ++++++++++++++++++++--------
 1 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/Core/GameEngine/Model/Player/PlayerDatas.cs b/Core/GameEngine/Model/Player/PlayerDatas.cs
index b3d87ee..9ba489d 100644
--- a/Core/GameEngine/Model/Player/PlayerDatas.cs
+++ b/Core/GameEngine/Model/Player/PlayerDatas.cs
@@ -65,6 +65,15 @@
         }
     }
 
+    public void UpdatePlayerData(HA112_tagMCDBPlayer data)
+    {
+        baseData.UpdateData(data);
+        if (InitPlayerInfoEvent != null)
+        {
+            InitPlayerInfoEvent();
+        }
+    }
+
     public void FightRefreshPlayerHp(uint hp)
     {
         RefreshProperty(false, PlayerDataRefresh.HP, hp);
@@ -273,15 +282,16 @@
                 break;
             case PlayerDataRefresh.MapID:
                 baseData.MapID = (ushort)value;
-                baseData.RecordMainServerData(isMainServerData, _type, value);
+                if (isMainServerData)
+                {
+                    baseData.mainServerMapIdRecord = baseData.MapID;
+                }
                 break;
             case PlayerDataRefresh.PosX:
                 baseData.PosX = (ushort)value;//瑙掕壊鍧愭爣x
-                baseData.RecordMainServerData(isMainServerData, _type, value);
                 break;
             case PlayerDataRefresh.PosY:
                 baseData.PosY = (ushort)value;//瑙掕壊鍧愭爣y
-                baseData.RecordMainServerData(isMainServerData, _type, value);
                 break;
             case PlayerDataRefresh.State:
                 baseData.State = (byte)value;
@@ -295,7 +305,6 @@
                 break;
             case PlayerDataRefresh.HP:
                 baseData.HP = value;
-                baseData.RecordMainServerData(isMainServerData, _type, value);
                 break;
             case PlayerDataRefresh.MaxMP:
                 extersion.MaxMP = (int)value;
@@ -409,7 +418,6 @@
                 break;
             case PlayerDataRefresh.FBID:
                 baseData.FBID = (byte)value;
-                baseData.RecordMainServerData(isMainServerData, _type, value);
                 break;
             case PlayerDataRefresh.FamilyLV:
                 break;
@@ -515,7 +523,6 @@
                 break;
             case PlayerDataRefresh.ExAttr3:
                 baseData.dungeonLineId = (int)value;
-                baseData.RecordMainServerData(isMainServerData, _type, value);
                 break;
             case PlayerDataRefresh.ExAttr4:
                 baseData.ExAttr4 = value;
@@ -524,14 +531,19 @@
                 var oldExAttr5 = baseData.ExAttr5;
                 baseData.ExAttr5 = value;
 
-                if (oldExAttr5 == 1 && value == 0)
+                if (oldExAttr5 > 2 && value <= 2)
                 {
                     if (GameNetSystem.Instance.crossServerConnected_Loigc)
                     {
                         GameNetSystem.Instance.crossServerConnected_Loigc = false;
                         LoadingWin.targetMapResId = 1;
                         WindowCenter.Instance.Open<LoadingWin>();
-                        GameNetSystem.Instance.Reconnect();
+
+                        var sendInfo = new CA108_tagCMRefreshMainServerRole();
+                        GameNetSystem.Instance.SendInfo(sendInfo);
+                        baseData.MapID = baseData.mainServerMapIdRecord;
+                        StageManager.Instance.Load<DungeonStage>(baseData.MapID, GameNetSystem.SocketType.CrossSever, true);
+                        extersion.pkState = 0;
                     }
                 }
                 break;

--
Gitblit v1.8.0