示例#1
0
        void Network_NetworkStatusChangeEvent(ConnectionID socket, NetworkManager.Status wError)
        {
            if (socket == ConnectionID.Game)
            {
                if (wError == NetworkManager.Status.Connected)
                {
                    ClearPlayers();
                    //连接成功后登陆游戏服
                    var item = GameApp.GameListMgr.FindRoomItem(GameApp.GameData.EnterRoomID);
                    if (item == null)
                    {
                        return;
                    }

                    uint   uid = GameApp.GameData.UserInfo.UserID;
                    string pwd = GameApp.GameData.Password;
                    string mac = GameApp.GameData.MAC;
                    GameApp.GameSrv.SendLoginGameSvr(item.GameNameID, uid, pwd, mac);
                }
                else
                {
                    GameApp.GameData.UserInfo.SetSitInfo(CommonDefine.INVALID_TABLE, CommonDefine.INVALID_CHAIR);
                }
            }
        }
示例#2
0
 private void HandleNetworkStatusChangeEvent(ConnectionID socket, NetworkManager.Status wError)
 {
     if (socket == ConnectionID.Game)
     {
         GameApp.PopupMgr.HideTips();
         if (wError != NetworkManager.Status.Connected)
         {
             if (retryTimes >= GlobalConst.Game.ReconnectTimes ||
                 !GameApp.GameMgr.IsInGame())
             {
                 //TODO 提示无法连接
                 StartCoroutine(Quit(false));
             }
             else
             {
                 //TODO 提示重连
                 retryTimes++;
                 StartCoroutine(Reconnect());
             }
         }
     }
     else
     {
         StartCoroutine(Quit(true));
     }
 }
示例#3
0
        private void NetworkStatusChangeEvent(ConnectionID socket, NetworkManager.Status wError)
        {
            if (wError != NetworkManager.Status.Connected)
            {
                GameApp.GameMgr.DestoryGame(true);

                if (bShowSocketTips == false)
                {
                    return;
                }

                if (socket == ConnectionID.Lobby)
                {
                    HallTransfer.Instance.cnCloseWebpage();
                    GameApp.PopupMgr.Confirm("提示", "为了您的账户安全,请重新登录!", delegate(MessageBoxResult style)
                    {
                        GameApp.GetInstance().SwitchAccount();
                    }, 15);
                }
                else
                {
                    HallTransfer.Instance.cnCloseWebpage();
                    GameApp.PopupMgr.Confirm("提示",
                                             wError == NetworkManager.Status.TimeOut ? "连接超时,请重试!" : "与游戏服务器断开连接,请重试!",
                                             delegate(MessageBoxResult style)
                    {
                        GameApp.GetInstance().SwitchAccount();
                    }, 15);
                }
            }
        }
示例#4
0
 void Network_NetworkStatusChangeEvent(ConnectionID socket, NetworkManager.Status wError)
 {
     if (socket == ConnectionID.Game)
     {
         //主动推送心跳避免没发送消息之前被服务器断开连接
         SendToHallSvr(MainCommand.MDM_KN_COMMAND, SubCommand.SUB_KN_DETECT_SOCKET, 0, null);
     }
 }
示例#5
0
 private void Network_NetworkStatusChangeEvent(ConnectionID socket, NetworkManager.Status wError)
 {
     /*if (socket == NetworkManager.ConnectionFlag.Game &&
      *  wError != NetworkManager.Status.Connected)
      * {
      *  PushTableEvent(TableEvents.GAME_LOST, 0, null);
      * }*/
 }
示例#6
0
        void HandleNetworkStatusChangeEvent(ConnectionID socket, NetworkManager.Status wError)
        {
            Logger.UI.Log("network status changed. Socket:" + socket + " Status:" + wError);

            GameApp.PopupMgr.HideTips();

            if (!bShowSocketTips)
            {
                return;
            }

            switch (wError)
            {
            case NetworkManager.Status.Connected:
            {
                nConnectCount = 0;
                LoginTransfer.Instance.cnNetworkError((int)wError);

                if (bLoginAfterConnected)
                {
                    bLoginAfterConnected = false;
                    NcLoginBtnClick(GameApp.GameData.Account, GameApp.GameData.Password, true);
                }
                else
                {
                    Invoke("Disconnect", GlobalConst.Base.LoginTimeOut);
                }

                break;
            }

            case NetworkManager.Status.Disconnected:
            case NetworkManager.Status.TimeOut:
            {
                if (nConnectCount >= GlobalConst.Game.ReconnectTimes)
                {
                    nConnectCount = 0;
                    GameApp.PopupMgr.Confirm("提示", "与服务器连接失败,请检查网络后重试!",
                                             delegate(MessageBoxResult result)
                        {
                            LoginTransfer.Instance.cnNetworkError(3);
                        },
                                             999f);
                }
                else
                {
                    StartCoroutine(Reconnect());
                }

                break;
            }
            }
        }
示例#7
0
        private void HandleNetworkStatusChangeEvent(ConnectionID socket, NetworkManager.Status wError)
        {
            if (wError == NetworkManager.Status.Connected)
            {
                patching  = true;
                startTime = Time.realtimeSinceStartup;

                //  ShowStatus("获取远程版本");

                GameApp.Account.ReqGetVersionInfo();
            }
            else
            {
                startTime = 0.0f;
                patching  = false;
                HideStatus();
            }
        }