From d5fb58e6d77bf3dee64b2f2420bbdec38b424ab6 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期四, 20 十二月 2018 20:51:11 +0800
Subject: [PATCH] 5398 子 【开发】【1.4】跨服竞技场 / 【前端】【1.4】跨服竞技场开发
---
Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System/CC104_tagCMExitCrossRealm.cs | 19 ++++++
Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System/CC104_tagCMExitCrossRealm.cs.meta | 12 ++++
Core/NetworkPackage/DTCFile/ServerPack/HC1_CrossRealm/DTCC103_tagMCExitCrossRealmRefresh.cs | 31 ++++++++++
Core/NetworkPackage/DTCFile/ServerPack/HC1_CrossRealm/DTCC103_tagMCExitCrossRealmRefresh.cs.meta | 12 ++++
Core/GameEngine/Model/Player/PlayerDatas.cs | 9 +++
Core/NetworkPackage/ServerPack/HC1_CrossRealm/HC103_tagMCExitCrossRealmRefresh.cs.meta | 12 ++++
Core/GameEngine/DataToCtl/PackageRegedit.cs | 1
Core/NetworkPackage/GameNetSystem.cs | 4 +
Core/NetworkPackage/ServerPack/HC1_CrossRealm/HC103_tagMCExitCrossRealmRefresh.cs | 32 ++++++++++
System/Login/CrossServerLogin.cs | 2
Core/GameEngine/Model/Player/Character/PlayerBaseData.cs | 16 ++++-
11 files changed, 145 insertions(+), 5 deletions(-)
diff --git a/Core/GameEngine/DataToCtl/PackageRegedit.cs b/Core/GameEngine/DataToCtl/PackageRegedit.cs
index e433df7..bd9bece 100644
--- a/Core/GameEngine/DataToCtl/PackageRegedit.cs
+++ b/Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -31,6 +31,7 @@
public static void Init()
{
// 鐧昏鐩稿簲鐨勬暟鎹綋鍙婂搴旂殑鏁版嵁杞�昏緫绫�
+ Register(typeof(HC103_tagMCExitCrossRealmRefresh), typeof(DTCC103_tagMCExitCrossRealmRefresh));
Register(typeof(HAA1D_tagMCActTotalRechargeInfo), typeof(DTCAA1D_tagMCActTotalRechargeInfo));
Register(typeof(HAA1C_tagMCTotalRechargePlayerInfo), typeof(DTCAA1C_tagMCTotalRechargePlayerInfo));
Register(typeof(HA717_tagMCChatBubbleBoxState), typeof(DTCA717_tagMCChatBubbleBoxState));
diff --git a/Core/GameEngine/Model/Player/Character/PlayerBaseData.cs b/Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
index bb13126..fc02dfd 100644
--- a/Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
+++ b/Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
@@ -62,10 +62,8 @@
public int BasicsDefense;//鍩虹闃插尽
public int BasicsScoreAHit;//鍩虹鍛戒腑
public int BasicsDodge;//鍩虹闂伩
- public long treasurePotentialSp
- {
- get
- {
+ public long treasurePotentialSp {
+ get {
return ExAttr8 * (long)100000000 + ExAttr7;
}
}
@@ -137,5 +135,15 @@
godWeaponLV_4 = (int)_serverInfo.ExAttr18;
}
+ public void UpdateData(HC103_tagMCExitCrossRealmRefresh serverInfo)
+ {
+ PlayerName = serverInfo.PlayerName;
+ MapID = serverInfo.MapID;
+ FBID = serverInfo.FBID;
+ dungeonLineId = serverInfo.FuncLineID;
+ PosX = serverInfo.PosX;
+ PosY = serverInfo.PosY;
+ HP = serverInfo.HP;
+ }
}
diff --git a/Core/GameEngine/Model/Player/PlayerDatas.cs b/Core/GameEngine/Model/Player/PlayerDatas.cs
index fad48b8..8b0ca4d 100644
--- a/Core/GameEngine/Model/Player/PlayerDatas.cs
+++ b/Core/GameEngine/Model/Player/PlayerDatas.cs
@@ -66,6 +66,15 @@
}
}
+ public void UpdatePlayerData(HC103_tagMCExitCrossRealmRefresh data)
+ {
+ baseData.UpdateData(data);
+ if (RefreshPlayerInfoEvent != null)
+ {
+ RefreshPlayerInfoEvent();
+ }
+ }
+
public void FightRefreshPlayerHp(uint hp)
{
RefreshProperty(PlayerDataRefresh.HP, hp);
diff --git a/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System/CC104_tagCMExitCrossRealm.cs b/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System/CC104_tagCMExitCrossRealm.cs
new file mode 100644
index 0000000..0453f2f
--- /dev/null
+++ b/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System/CC104_tagCMExitCrossRealm.cs
@@ -0,0 +1,19 @@
+锘縰sing UnityEngine;
+using System.Collections;
+
+// C1 04 涓诲姩閫�鍑鸿法鏈� #tagCMExitCrossRealm
+
+public class CC104_tagCMExitCrossRealm : GameNetPackBasic
+{
+
+ public CC104_tagCMExitCrossRealm()
+ {
+ combineCmd = (ushort)0x03FE;
+ _cmd = (ushort)0xC104;
+ }
+
+ public override void WriteToBytes()
+ {
+ }
+
+}
\ No newline at end of file
diff --git a/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System/CC104_tagCMExitCrossRealm.cs.meta b/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System/CC104_tagCMExitCrossRealm.cs.meta
new file mode 100644
index 0000000..9fe1ff9
--- /dev/null
+++ b/Core/NetworkPackage/ClientPack/ClientToMapServer/C01_System/CC104_tagCMExitCrossRealm.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 162213b07a435ba4fba1bfc0c20e3dea
+timeCreated: 1545308621
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HC1_CrossRealm/DTCC103_tagMCExitCrossRealmRefresh.cs b/Core/NetworkPackage/DTCFile/ServerPack/HC1_CrossRealm/DTCC103_tagMCExitCrossRealmRefresh.cs
new file mode 100644
index 0000000..d66a18c
--- /dev/null
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HC1_CrossRealm/DTCC103_tagMCExitCrossRealmRefresh.cs
@@ -0,0 +1,31 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Thursday, December 20, 2018
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using Snxxz.UI;
+
+public class DTCC103_tagMCExitCrossRealmRefresh : DtcBasic
+{
+
+ public override void Done(GameNetPackBasic vNetPack)
+ {
+ base.Done(vNetPack);
+ var package = vNetPack as HC103_tagMCExitCrossRealmRefresh;
+
+ GameNetSystem.Instance.crossServerConnected_Loigc = false;
+ PlayerDatas.Instance.UpdatePlayerData(package);
+
+ LoadingWin.targetMapResId = 1;
+ WindowCenter.Instance.Open<LoadingWin>();
+ StageManager.Instance.Load<DungeonStage>(PlayerDatas.Instance.baseData.MapID, true);
+ }
+
+}
+
+
+
+
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/HC1_CrossRealm/DTCC103_tagMCExitCrossRealmRefresh.cs.meta b/Core/NetworkPackage/DTCFile/ServerPack/HC1_CrossRealm/DTCC103_tagMCExitCrossRealmRefresh.cs.meta
new file mode 100644
index 0000000..e166df2
--- /dev/null
+++ b/Core/NetworkPackage/DTCFile/ServerPack/HC1_CrossRealm/DTCC103_tagMCExitCrossRealmRefresh.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 14f7dd7102df83747afb909b5c649715
+timeCreated: 1545309199
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Core/NetworkPackage/GameNetSystem.cs b/Core/NetworkPackage/GameNetSystem.cs
index 2b5313b..57348d7 100644
--- a/Core/NetworkPackage/GameNetSystem.cs
+++ b/Core/NetworkPackage/GameNetSystem.cs
@@ -76,8 +76,9 @@
get { return mainSocket == null ? 0f : (float)(DateTime.Now - mainSocket.lastPackageTime).TotalSeconds; }
}
+ public bool crossServerConnected_Loigc { get; set; }
private ClientSocket crossServerSocket;
- public bool crossServerSocketConnected { get { return crossServerSocket == null ? false : crossServerSocket.connected; } }
+ public bool crossServerSocketConnected { get { return crossServerConnected_Loigc && crossServerSocket == null ? false : crossServerSocket.connected; } }
public float timeSinceCrossServerSocketLastProtocol {
get { return crossServerSocket == null ? 0f : (float)(DateTime.Now - crossServerSocket.lastPackageTime).TotalSeconds; }
@@ -137,6 +138,7 @@
{
try
{
+ crossServerConnected_Loigc = false;
if (crossServerSocketConnected)
{
crossServerSocket.CloseConnect();
diff --git a/Core/NetworkPackage/ServerPack/HC1_CrossRealm/HC103_tagMCExitCrossRealmRefresh.cs b/Core/NetworkPackage/ServerPack/HC1_CrossRealm/HC103_tagMCExitCrossRealmRefresh.cs
new file mode 100644
index 0000000..4fa7642
--- /dev/null
+++ b/Core/NetworkPackage/ServerPack/HC1_CrossRealm/HC103_tagMCExitCrossRealmRefresh.cs
@@ -0,0 +1,32 @@
+锘縰sing UnityEngine;
+using System.Collections;
+
+// C1 03 閫�鍑鸿法鏈嶅埛鏂� #tagMCExitCrossRealmRefresh
+
+public class HC103_tagMCExitCrossRealmRefresh : GameNetPackBasic
+{
+ public string PlayerName;
+ public ushort MapID;
+ public byte FBID;
+ public byte FuncLineID;
+ public ushort PosX;
+ public ushort PosY;
+ public uint HP;
+
+ public HC103_tagMCExitCrossRealmRefresh()
+ {
+ _cmd = (ushort)0xC103;
+ }
+
+ public override void ReadFromBytes(byte[] vBytes)
+ {
+ TransBytes(out PlayerName, vBytes, NetDataType.Chars, 33);
+ TransBytes(out MapID, vBytes, NetDataType.WORD);
+ TransBytes(out FBID, vBytes, NetDataType.BYTE);
+ TransBytes(out FuncLineID, vBytes, NetDataType.BYTE);
+ TransBytes(out PosX, vBytes, NetDataType.WORD);
+ TransBytes(out PosY, vBytes, NetDataType.WORD);
+ TransBytes(out HP, vBytes, NetDataType.DWORD);
+ }
+
+}
\ No newline at end of file
diff --git a/Core/NetworkPackage/ServerPack/HC1_CrossRealm/HC103_tagMCExitCrossRealmRefresh.cs.meta b/Core/NetworkPackage/ServerPack/HC1_CrossRealm/HC103_tagMCExitCrossRealmRefresh.cs.meta
new file mode 100644
index 0000000..a44c338
--- /dev/null
+++ b/Core/NetworkPackage/ServerPack/HC1_CrossRealm/HC103_tagMCExitCrossRealmRefresh.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 594f22856ab123f4ca4b9f80b5031090
+timeCreated: 1545308834
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/Login/CrossServerLogin.cs b/System/Login/CrossServerLogin.cs
index 62821d0..822b987 100644
--- a/System/Login/CrossServerLogin.cs
+++ b/System/Login/CrossServerLogin.cs
@@ -283,6 +283,8 @@
return;
}
+ GameNetSystem.Instance.crossServerConnected_Loigc = true;
+
var tagCRoleLoginAsk = new C0108_tagCRoleLoginAsk();
tagCRoleLoginAsk.Type = (byte)_type;//杩涘叆娓告垙
tagCRoleLoginAsk.ClientID = SDKUtility.Instance.RegistrationID;
--
Gitblit v1.8.0