From 45dc7ce48270b41e9c287ddab3e827d52480cf8c Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期二, 08 一月 2019 14:48:35 +0800
Subject: [PATCH] 5725 【前端】【1.5】跨服BOSS开发
---
Core/GameEngine/Model/Player/PlayerDatas.cs | 34 +++++++++++++++++++++++++++-------
1 files changed, 27 insertions(+), 7 deletions(-)
diff --git a/Core/GameEngine/Model/Player/PlayerDatas.cs b/Core/GameEngine/Model/Player/PlayerDatas.cs
index b3d87ee..068a628 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;
@@ -531,7 +538,20 @@
GameNetSystem.Instance.crossServerConnected_Loigc = false;
LoadingWin.targetMapResId = 1;
WindowCenter.Instance.Open<LoadingWin>();
- GameNetSystem.Instance.Reconnect();
+
+ var sendInfo = new CA108_tagCMRefreshMainServerRole();
+ GameNetSystem.Instance.SendInfo(sendInfo);
+ StageManager.Instance.Load<DungeonStage>(baseData.MapID, GameNetSystem.SocketType.CrossSever, true);
+
+ if (hero != null && !hero.ActorInfo.serverDie)
+ {
+ hero.RequestName();
+ hero.SwitchRedName(StatusMgr.Instance.IsExist(PlayerId, StatusMgr.Instance.redNameBuffID));
+ hero.IdleImmediate();
+ hero.State = E_ActorState.Idle;
+ extersion.pkState = 0;
+ }
+
}
}
break;
--
Gitblit v1.8.0