hch
2025-09-16 fdfe40ac7aebbd5d681cd9408f89e4566081a85a
0312 增加断线提示
7个文件已修改
4个文件已添加
273 ■■■■ 已修改文件
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0104_tagServerDisconnect.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DataToCtl/AccountLoginState.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DataToCtl/ConnectedState.cs 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DataToCtl/RoleLoginState.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/GameNetSystem.cs 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Manager/StageManager.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Login/DisconnectHintWin.cs 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Login/DisconnectHintWin.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Login/LoginWin.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Login/ServerForceExitHintWin.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Login/ServerForceExitHintWin.cs.meta 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/DTCFile/ServerPack/H01_System/DTC0104_tagServerDisconnect.cs
@@ -1,7 +1,7 @@
using UnityEngine;
using System.Collections;
using System;
using UnityEngine;
using System.Collections;
using System;
//01 04 断线#tagServerDisconnect
public class DTC0104_tagServerDisconnect : DtcBasic {
@@ -13,7 +13,7 @@
        {
            Debug.Log("DTC0104_tagServerDisconnect" + vNetData.Reason);
            //ServerForceExitHintWin.reason = vNetData.Reason;
            ServerForceExitHintWin.reason = vNetData.Reason;
            LoginManager.Instance.busy = false;
            if (VersionConfig.Get().versionAuthority == VersionAuthority.Release)
            {
Main/Core/NetworkPackage/DataToCtl/AccountLoginState.cs
@@ -23,7 +23,7 @@
        if (Time.time > overTime)
        {
            GameNetSystem.Instance.LoginOut();
            // ServerForceExitHintWin.reason = 111;
            ServerForceExitHintWin.reason = 111;
        }
    }
Main/Core/NetworkPackage/DataToCtl/ConnectedState.cs
@@ -73,16 +73,16 @@
    private void DetectConnected(int _seconds)
    {
        connectedDetecting = true;
        var sendInfo1 = new C0104_tagCOnlineReturn();
        sendInfo1.Type = 0;
        GameNetSystem.Instance.SendInfo(sendInfo1);// 在线回应
        if (clock != null)
        {
            Clock.Stop(clock);
        }
        connectedDetecting = true;
        var sendInfo1 = new C0104_tagCOnlineReturn();
        sendInfo1.Type = 0;
        GameNetSystem.Instance.SendInfo(sendInfo1);// 在线回应
        if (clock != null)
        {
            Clock.Stop(clock);
        }
        clock = Clock.AlarmAt(DateTime.Now + new TimeSpan(_seconds * TimeSpan.TicksPerSecond), OnDetectEnd);
    }
@@ -105,7 +105,7 @@
            {
                case NetworkReachability.NotReachable:
                    GameNetSystem.Instance.Disconnect();
                    // WindowCenter.Instance.Open<DisconnectHintWin>();
                    UIManager.Instance.OpenWindow<DisconnectHintWin>();
                    break;
                case NetworkReachability.ReachableViaCarrierDataNetwork:
                case NetworkReachability.ReachableViaLocalAreaNetwork:
Main/Core/NetworkPackage/DataToCtl/RoleLoginState.cs
@@ -28,7 +28,7 @@
        if (timer1 > OVERTIME_THRESHOLD_1)
        {
            GameNetSystem.Instance.Disconnect();
            // WindowCenter.Instance.Open<DisconnectHintWin>();
            UIManager.Instance.OpenWindow<DisconnectHintWin>();
        }
@@ -36,7 +36,7 @@
        if (timer2 > OVERTIME_THRESHOLD_2)
        {
            GameNetSystem.Instance.Disconnect();
            // WindowCenter.Instance.Open<DisconnectHintWin>();
            UIManager.Instance.OpenWindow<DisconnectHintWin>();
        }
    }
Main/Core/NetworkPackage/GameNetSystem.cs
@@ -183,8 +183,7 @@
        finally
        {
            netState = NetState.DisConnected;
            // var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
            // loginModel.busy = false;
            LoginManager.Instance.busy = false;
        }
    }
@@ -208,21 +207,16 @@
        finally
        {
            netState = NetState.AccountLogin;
            // var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
            // loginModel.busy = false;
            // loginModel.ReAccountLogin();
            LoginManager.Instance.busy = false;
            LoginManager.Instance.ReAccountLogin();
        }
    }
    public void LoginOut()
    {
        // if (CameraController.Instance != null)
        //     CameraController.Instance.SetInGame(false);
        // DTC0102_tagCDBPlayer.isAfterPlayerDataInitialize = false;
        try
        {
            // ynmbxxjUtil.Instance.RoleLoginOut();
            SDKUtils.Instance.RoleLoginOut();
            if (mainSocket != null)
            {
@@ -238,31 +232,11 @@
        finally
        {
            netState = NetState.NerverConnect;
            // TODO YYL
            // var loginModel = ModelCenter.Instance.GetModel<LoginModel>();
            // loginModel.busy = false;
            LoginManager.Instance.busy = false;
            // StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand()
            // {
            //     toMapId = 1,
            //     toLineId = 0,
            //     needEmpty = false,
            //     needLoadResource = true,
            //     serverType = ServerType.Main,
            //     isClientLoadMap = true
            // });
            // //CameraManager.uiCamera.clearFlags = CameraClearFlags.SolidColor;
            // //GameObject obj = GameObject.Find("NormalCanvas");
            // //int count = obj.transform.childCount;
            // //for (int i = count - 1; i >= 0; --i)
            // //{
            // //    //Debug.LogError(obj.transform.GetChild(i).name);
            // //    GameObject.Destroy(obj.transform.GetChild(i).gameObject);
            // //}
            // //SceneManager.LoadScene("Empty");
            StageManager.Instance.ReturnToLoginScene();
            NetLinkWin.Hide();
            // DTC0403_tagPlayerLoginLoadOK.neverLoginOk = true;
        }
    }
Main/Manager/StageManager.cs
@@ -52,6 +52,23 @@
        UIManager.Instance.OpenWindow<LoginWin>();
    }
    // 返回登录界面 如断线
    public void ReturnToLoginScene()
    {
        UIManager.Instance.DestroyAllUI();
        SceneManager.LoadSceneAsync("Login");
        currentStage = StageName.Login;
        UIManager.Instance.OpenWindow<LaunchBackGroundWin>();
        UIManager.Instance.OpenWindow<LoginWin>();
        if (ServerForceExitHintWin.reason != 0)
        {
            UIManager.Instance.OpenWindow<ServerForceExitHintWin>();
        }
    }
    protected float GetManagerRequestDataProgress()
    {
        if (Main.managers.Count == 0)
Main/System/Login/DisconnectHintWin.cs
New file
@@ -0,0 +1,83 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Monday, November 20, 2017
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class DisconnectHintWin : UIBase
{
    [SerializeField] Text m_Content;
    [SerializeField] Button m_Confirm;
    [SerializeField] Button m_Cancel;
    #region Built-in
    protected override void InitComponent()
    {
        m_Cancel.AddListener(Cancel);
        m_Confirm.AddListener(Confirm);
    }
    protected override void OnPreOpen()
    {
        if (StageManager.Instance.currentStage == StageName.Login)
        {
            m_Content.text = Language.Get("Disconnected_2");
        }
        else
        {
            m_Content.text = Language.Get("Disconnected_1");
        }
    }
    #endregion
    private void Confirm()
    {
        switch (Application.internetReachability)
        {
            case NetworkReachability.NotReachable:
                GameNetSystem.Instance.LoginOut();
                ServerForceExitHintWin.reason = 111;
                break;
            case NetworkReachability.ReachableViaCarrierDataNetwork:
            case NetworkReachability.ReachableViaLocalAreaNetwork:
                if (StageManager.Instance.currentStage == StageName.Login)
                {
                    LoginManager.Instance.busy = false;
                    LoginManager.Instance.AccountLogin(LoginManager.Instance.accountBuf, LoginManager.Instance.ipBuf,
                    LoginManager.Instance.portBuf, LoginManager.Instance.gamePortBuf);
                }
                else
                {
                    GameNetSystem.Instance.Reconnect();
                }
                break;
        }
        CloseWindow();
    }
    private void Cancel()
    {
        if (!(StageManager.Instance.currentStage == StageName.Login))
        {
            GameNetSystem.Instance.LoginOut();
        }
        CloseWindow();
    }
}
Main/System/Login/DisconnectHintWin.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: be709efee6ede2040a38bc53c2342fcc
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant:
Main/System/Login/LoginWin.cs
@@ -260,16 +260,6 @@
    }
    //protected void QQLogin()
    //{
    //    SDKUtils.Instance.TencentLogin("Login");
    //}
    //protected void WXLogin()
    //{
    //    SDKUtils.Instance.TencentLogin("Loginwx");
    //}
    private void OpenServerListWin()
    {
        UIManager.Instance.OpenWindow<ServerListWin>();
Main/System/Login/ServerForceExitHintWin.cs
New file
@@ -0,0 +1,65 @@
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Saturday, December 16, 2017
//--------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ServerForceExitHintWin : UIBase
{
    public static int reason = 0;
    [SerializeField] Text m_Reason;
    [SerializeField] Button m_Confirm;
    #region Built-in
    protected override void InitComponent()
    {
        m_Confirm.AddListener(ReturnToLogin);
    }
    protected override void OnPreOpen()
    {
        var kickConfig = KickOutReasonConfig.Get(reason);
        m_Reason.text = kickConfig == null ? "" : kickConfig.kickout;
    }
    protected override void OnPreClose()
    {
    }
    #endregion
    private void ReturnToLogin()
    {
        reason = 0;
        CloseWindow();
        switch (VersionConfig.Get().versionAuthority)
        {
            case VersionAuthority.InterTest:
                GameNotice.OpenGameNotice();
                break;
            case VersionAuthority.Release:
                if (!VersionConfig.Get().isBanShu)
                {
                    if (!LoginManager.Instance.sdkLogined)
                    {
                        SDKUtils.Instance.FreePlatformLogin();
                    }
                }
                break;
        }
    }
}
Main/System/Login/ServerForceExitHintWin.cs.meta
New file
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5c32599cf6864744e96d2a540d3a159c
MonoImporter:
  externalObjects: {}
  serializedVersion: 2
  defaultReferences: []
  executionOrder: 0
  icon: {instanceID: 0}
  userData:
  assetBundleName:
  assetBundleVariant: