From a3316f22bceb07dd677c7af8aa79d8c52d26dc2b Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 18 十一月 2025 17:42:55 +0800
Subject: [PATCH] 0312 修复卡号问题
---
Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0403_tagPlayerLoginLoadOK.cs | 2 +-
Main/System/Login/LoginManager.cs | 14 ++++++++++++++
Main/Core/NetworkPackage/GameNetSystem.cs | 34 ++++++++++++++++++++++++++++++++++
3 files changed, 49 insertions(+), 1 deletions(-)
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0403_tagPlayerLoginLoadOK.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0403_tagPlayerLoginLoadOK.cs
index ca633bf..e4a2ded 100644
--- a/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0403_tagPlayerLoginLoadOK.cs
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0403_tagPlayerLoginLoadOK.cs
@@ -15,7 +15,7 @@
var vNetData = vNetPack as H0403_tagPlayerLoginLoadOK;
GameNetSystem.Instance.netState = GameNetSystem.NetState.Connected;
-
+ GameNetSystem.Instance.SetIsWaitLoginMap(false);
NetLinkWin.Hide();
if (LoginManager.Instance.reconnectBackGround)
diff --git a/Main/Core/NetworkPackage/GameNetSystem.cs b/Main/Core/NetworkPackage/GameNetSystem.cs
index 6ce7feb..56744e6 100644
--- a/Main/Core/NetworkPackage/GameNetSystem.cs
+++ b/Main/Core/NetworkPackage/GameNetSystem.cs
@@ -6,6 +6,10 @@
public class GameNetSystem : Singleton<GameNetSystem>
{
+ //闄愬埗瀹㈡埛绔殑涓嬩竴涓寘鏄櫥褰曞寘C0101_tagCPlayerLogin锛屽鏋滀笉鏄櫥褰曞寘涓嶅厑璁稿彂閫�
+ bool waitLogin = false; //绛夊緟鍙戦�佺櫥褰曞寘锛屽鏋滄湁鍏朵粬鍖呯洿鎺ュ睆钄斤紝閬垮厤鏂嚎閲嶈繛鐨勬儏鍐靛彂浜嗘敾鍑诲寘涔嬬被鐨�
+ //绛夊緟鏈嶅姟绔�0403鐨勫寘鍚庢墠鑳藉彂鍏朵粬鐨勫姛鑳藉寘锛屽彧鏈塁0123_tagCClientPackVersion 鍜� C0101_tagCPlayerLogin 鍙互鍙戦��
+ bool waitLoginMap = false;
NetUpdateBehaviour m_NetUpdateBehaviour;
NeverConnectState neverConnectState;
AccountLoginState accountLoginState;
@@ -125,8 +129,38 @@
});
}
+ //闄愬埗瀹㈡埛绔殑涓嬩竴涓寘鏄櫥褰曞寘C0101_tagCPlayerLogin锛屽鏋滀笉鏄櫥褰曞寘涓嶅厑璁稿彂閫�
+ public void SetIsWaitLogin(bool _wait)
+ {
+ waitLogin = _wait;
+ }
+
+ //绛夊緟鏈嶅姟绔�0403鐨勫寘鍚庢墠鑳藉彂鍏朵粬鐨勫姛鑳藉寘锛屽彧鏈塁0123_tagCClientPackVersion 鍜� C0101_tagCPlayerLogin 鍙互鍙戦��
+ public void SetIsWaitLoginMap(bool _wait)
+ {
+ waitLoginMap = _wait;
+ }
+
public void SendInfo(GameNetPackBasic protocol)
{
+ if (waitLogin)
+ {
+ if (protocol is not C0101_tagCPlayerLogin)
+ {
+ Debug.LogWarning("绛夊緟鎵ц鐧诲綍锛屼笉鍏佽鍙戦�佸叾浠栧寘 " + protocol.ToString());
+ return;
+ }
+ }
+
+ if (waitLoginMap)
+ {
+ if (protocol is not C0123_tagCClientPackVersion && protocol is not C0101_tagCPlayerLogin)
+ {
+ Debug.LogWarning("绛夊緟0403鍖咃紝涓嶅厑璁稿彂閫佸叾浠栧寘 " + protocol.ToString());
+ return;
+ }
+ }
+
if (mainSocket != null)
{
mainSocket.SendInfo(protocol);
diff --git a/Main/System/Login/LoginManager.cs b/Main/System/Login/LoginManager.cs
index e914215..2aded75 100644
--- a/Main/System/Login/LoginManager.cs
+++ b/Main/System/Login/LoginManager.cs
@@ -66,6 +66,9 @@
SDKUtils.Instance.onFreePlatformBindOk += OnSDKAccountBindOk;
LaunchInHot.Instance.OnApplicationOut += OnApplicationOut;
+ // #if UNITY_EDITOR
+ // GlobalTimeEvent.Instance.MSEvent += OnMSEvent;
+ // #endif
}
public override void Release()
@@ -243,9 +246,12 @@
{
if (ok)
{
+ GameNetSystem.Instance.SetIsWaitLogin(false);
+ GameNetSystem.Instance.SetIsWaitLoginMap(true);
var sendInfo = new C0123_tagCClientPackVersion();
sendInfo.Version = DwVersionNo;
GameNetSystem.Instance.SendInfo(sendInfo);
+ GameNetSystem.Instance.SetIsWaitLogin(true);
}
else
{
@@ -253,6 +259,13 @@
}
}
+ // void OnMSEvent()
+ // {
+ // //娴嬭瘯鐢� 娴嬭瘯鐧诲綍娴佺▼涓竴鐩村彂鏃犵敤鐨勫寘鏄惁褰卞搷鐧诲綍
+ // var pack = new CA504_tagCMPlayerGetReward();
+ // GameNetSystem.Instance.SendInfo(pack);
+
+ // }
public void AccessLogin(H0101_tagServerPrepared _serverInfo)
{
@@ -291,6 +304,7 @@
public C0101_tagCPlayerLogin Get0101SendPackage(H0101_tagServerPrepared _serverInfo)
{
+ GameNetSystem.Instance.SetIsWaitLogin(false);
var send = new C0101_tagCPlayerLogin();
switch (VersionConfig.Get().versionAuthority)
{
--
Gitblit v1.8.0