Ejemplo n.º 1
0
        private void OnMsgLoginSystemLG2GCAckAccountLogin(UnityFrame.CMsg msgData)
        {
            if (m_loginState != LoginState.CONNECT_LOGINSERVER_WAIT_LOGIN)
            {
                SetLoginState(LoginState.CONNECT_LOGINSERVER_FAIL);
                CGameClient.Singleton.Disconnect();
                return;
            }
            CMsgLoginSystemLG2GCAckAccountLogin accountLogin = (CMsgLoginSystemLG2GCAckAccountLogin)msgData;
            if ((EErrorPlayerLoginServer)accountLogin.m_state != EErrorPlayerLoginServer.ELOGINRESULT_SUCCESS)
            {
                SetLoginState(LoginState.CONNECT_LOGINSERVER_FAIL);
                CGameClient.Singleton.Disconnect();
                SetLoginResult((EErrorPlayerLoginServer)accountLogin.m_state);
                return;
            }
            m_gameServerIP = accountLogin.m_gameServerIP;
            m_gameServerPort = accountLogin.m_gameServerPort;
            m_loginKey = accountLogin.m_loginKey;
            m_loginSession = accountLogin.m_loginSession;
            m_accountKey = accountLogin.m_accountKey;

            SetLoginState(LoginState.CONNECT_LOGINSERVER_SUCCESS);
            CGameClient.Singleton.Disconnect();

            UnityUtility.CTrace.Singleton.debug("[LG][m_accountKey={0}][m_zoneID={1}]", m_accountKey.m_accountID.ToString(), m_accountKey.m_zoneID.ToString());
        }
Ejemplo n.º 2
0
 private void OnMsgLoginSystemLG2GCAckGetAccountToken(UnityFrame.CMsg msgData)
 {
     CMsgLoginSystemLG2GCAckGetAccountToken msg = (CMsgLoginSystemLG2GCAckGetAccountToken)msgData;
     m_getTakenResult = (EGetAccountTokenResult)msg.m_state;
     m_token = msg.m_token;
     m_accountKey.m_accountID = msg.m_accountID;
     CGameClient.Singleton.Disconnect();
 }
Ejemplo n.º 3
0
 public bool SendMsg(UnityFrame.CMsg msgData)
 {
     if (Net != null)
     {
         if (!Net.SendAsync(msgData))
         {
             CGameClient.LostMsgData = msgData;
             if (LoginSystem.ConnectServerType == UnityGMClient.CLoginSystem.EConnectServerType.CONNECT_SERVER_GT)
             {
                 return(CGameClient.Singleton.SendMsgReConnectServer());
             }
             return(false);
         }
         return(true);
     }
     return(false);
 }
Ejemplo n.º 4
0
        /// <summary>
        /// 连接网关回调
        /// </summary>
        /// <param name="msgData"></param>
        private void OnMsgLoginSystemGM2GCAckAccountLogin(UnityFrame.CMsg msgData)
        {
            if ((m_loginState != LoginState.CONNECT_GAMESERVER_WAIT_LOGIN) && (ConnectCallBackType != EConnectCallBack.CONNECT_CB_RECONNECT_GT))
            {
                SetLoginState(LoginState.CONNECT_GAMESERVER_FAIL);
                CGameClient.Singleton.Disconnect();
                return;
            }
            CMsgLoginSystemGM2GCAckAccountLogin accountLogin = (CMsgLoginSystemGM2GCAckAccountLogin)msgData;
            UnityUtility.CTrace.Singleton.debug("[GT][m_state={0}]]", ((EErrorPlayerLoginServer)accountLogin.m_state).ToString());
            if ((EErrorPlayerLoginServer)accountLogin.m_state != EErrorPlayerLoginServer.ELOGINRESULT_SUCCESS)
            {
                if ((EErrorPlayerLoginServer)accountLogin.m_state == EErrorPlayerLoginServer.ELOGINRESULT_SUCCESS_FIRST)
                {
                    if (ConnectCallBackType == EConnectCallBack.CONNECT_CB_RECONNECT_GT)
                    {
                        SendLostMsg();
                        return;
                    }
                    SetLoginState(LoginState.CONNECT_GAMESERVER_SUCCESS);
                    SetLoginResult(EErrorPlayerLoginServer.ELOGINRESULT_SUCCESS_FIRST);
                    return;
                }

                if (ConnectCallBackType == EConnectCallBack.CONNECT_CB_RECONNECT_GT)
                {
                    UnityUtility.CTrace.Singleton.debug("[GT][m_state={0}]][recoennect fail]", ((EErrorPlayerLoginServer)accountLogin.m_state).ToString());
                    NotifyNetState(ENetStatus.ENETSTATUS_RECONNECT_INVALID);
                    return;
                }
                
                SetLoginState(LoginState.CONNECT_GAMESERVER_FAIL);
                CGameClient.Singleton.Disconnect();
                SetLoginResult((EErrorPlayerLoginServer)accountLogin.m_state);
                return;
            }

            SetLoginState(LoginState.CONNECT_GAMESERVER_SUCCESS);
            if (ConnectCallBackType == EConnectCallBack.CONNECT_CB_RECONNECT_GT)
            {
                SendLostMsg();
                return;
            }
            CMsgLoginSystemGM2GCAckAccountLogin.CallBack(accountLogin);
        }
Ejemplo n.º 5
0
        private void CallbackRecvAsync(UnityUtility.CBuffer buffer)
        {
            m_stream.Buffer = buffer;
            uint id = 0;

            if (!m_stream.Read(ref id))
            {
                UnityUtility.CTrace.Singleton.debug("解析消息ID错误");
                m_netTcpClient.Disconnect();
                return;
            }
            UnityFrame.CMsgID msgID   = new UnityFrame.CMsgID(id);
            UnityFrame.CMsg   msgData = CGameClient.Singleton.MsgFactory.CreateMessageByMsgID(msgID);
            if (msgData != null)
            {
                UnityUtility.CTrace.Singleton.debug("解析消息[{0}.{1}.{2}][{3}]", msgID.ServerType.ServerType, msgID.FuncType.FuncType, msgID.MsgNumber, msgData.ToString());

                if (!msgData.SerializeFrom(m_stream))
                {
                    m_netTcpClient.Disconnect();
                    return;
                }
                if (m_stream.Buffer.CanRead)
                {
                    UnityUtility.CTrace.Singleton.error("解析消息ParseMessage[{0}.{1}.{2}]失败,消息还有多余数据", msgID.ServerType.ServerType, msgID.FuncType.FuncType, msgID.MsgNumber);
                    m_netTcpClient.Disconnect();
                    return;
                }
                if (!CGameClient.Singleton.MsgExecMgr.ParseMessage(msgData))
                {
                    UnityUtility.CTrace.Singleton.error("解析消息ParseMessage[{0}.{1}.{2}][{3}]失败", msgID.ServerType.ServerType, msgID.FuncType.FuncType, msgID.MsgNumber, msgData.ToString());
                    m_netTcpClient.Disconnect();
                    return;
                }
            }
            else
            {
                UnityUtility.CTrace.Singleton.error("解析消息ParseMessage[{0}.{1}.{2}]创建消息失败", msgID.ServerType.ServerType, msgID.FuncType.FuncType, msgID.MsgNumber);
                m_netTcpClient.Disconnect();
                return;
            }
        }
Ejemplo n.º 6
0
 public override UnityFrame.CMsgID CreateMsgIDByType(Type type)
 {
     try
     {
         Assembly asm = Assembly.GetExecutingAssembly();
         Object   obj = asm.CreateInstance(type.FullName, true);
         if (obj != null)
         {
             UnityFrame.CMsg msg = (UnityFrame.CMsg)obj;
             if (msg != null)
             {
                 return(msg.MsgID);
             }
         }
         return(null);
     }
     catch (System.Exception)
     {
         return(null);
     }
 }
Ejemplo n.º 7
0
        public bool SendAsync(UnityFrame.CMsg msgData)
        {
            UnityUtility.CTrace.Singleton.debug("发送消息[{0}.{1}.{2}][{3}]", msgData.MsgID.ServerType.ServerType, msgData.MsgID.FuncType.FuncType, msgData.MsgID.MsgNumber, msgData.ToString());

            UnityUtility.CStream stream = new UnityUtility.CStream();
            stream.Write(msgData.MsgID.MsgID);
            if (!msgData.SerializeTo(stream))
            {
                return(false);
            }
            if (!m_netTcpClient.SendAsync(stream))
            {
                //  UnityUtility.CTrace.Singleton.error("发送消息[{0}.{1}.{2}][{3}]", msgData.MsgID.ServerType.ServerType, msgData.MsgID.FuncType.FuncType, msgData.MsgID.MsgNumber, msgData.ToString());
                // return false;
                UnityUtility.CTrace.Singleton.error("发送消息[{0}.{1}.{2}][{3}]Fail", msgData.MsgID.ServerType.ServerType, msgData.MsgID.FuncType.FuncType, msgData.MsgID.MsgNumber, msgData.ToString());
                //CGameClient.LostMsgData = msgData;
                //CGameClient.Singleton.SendMsgReConnectServer();
                return(false);
            }
            return(true);
        }
Ejemplo n.º 8
0
        private void OnMsgPetSystemGM2GCAckPetFastQuitPool(UnityFrame.CMsg msgData)
        {
            CMsgPetSystemGM2GCAckPetFastQuitPool ack = (CMsgPetSystemGM2GCAckPetFastQuitPool)msgData;

            CMsgPetSystemGM2GCAckPetFastQuitPool.CallBack(ack);
        }
Ejemplo n.º 9
0
        private void OnMsgPetSystemGM2GCAckPetStandUp(UnityFrame.CMsg msgData)
        {
            CMsgPetSystemGM2GCAckPetStandUp ack = (CMsgPetSystemGM2GCAckPetStandUp)msgData;

            CMsgPetSystemGM2GCAckPetStandUp.CallBack(ack);
        }
Ejemplo n.º 10
0
        private void OnMsgPetSystemGM2GCAckPetSitDown(UnityFrame.CMsg msgData)
        {
            CMsgPetSystemGM2GCAckPetSitDown ack = (CMsgPetSystemGM2GCAckPetSitDown)msgData;

            CMsgPetSystemGM2GCAckPetSitDown.CallBack(ack);
        }
Ejemplo n.º 11
0
        private void OnMsgPetSystemGM2GCAckPetGetHotSpringTaskDetail(UnityFrame.CMsg msgData)
        {
            CMsgPetSystemGM2GCAckPetGetHotSpringTaskDetail ack = (CMsgPetSystemGM2GCAckPetGetHotSpringTaskDetail)msgData;

            CMsgPetSystemGM2GCAckPetGetHotSpringTaskDetail.CallBack(ack);
        }
Ejemplo n.º 12
0
        private void OnMsgPetSystemGM2GCAckSendPetGift(UnityFrame.CMsg msgData)
        {
            CMsgPetSystemGM2GCAckSendPetGift ack = (CMsgPetSystemGM2GCAckSendPetGift)msgData;

            CMsgPetSystemGM2GCAckSendPetGift.CallBack(ack);
        }
Ejemplo n.º 13
0
        private void OnMsgSceneSystemGM2GCAckRoleRevive(UnityFrame.CMsg msgData)
        {
            CMsgSceneSystemGM2GCAckRoleRevive ack = (CMsgSceneSystemGM2GCAckRoleRevive)msgData;

            CMsgSceneSystemGM2GCAckRoleRevive.CallBack(ack);
        }
Ejemplo n.º 14
0
        private void OnMsgPetSystemGM2GCAckExpandHotSpring(UnityFrame.CMsg msgData)
        {
            CMsgPetSystemGM2GCAckExpandHotSpring ack = (CMsgPetSystemGM2GCAckExpandHotSpring)msgData;

            CMsgPetSystemGM2GCAckExpandHotSpring.CallBack(ack);
        }
Ejemplo n.º 15
0
        private void OnMsgPetSystemGM2GCAckHotSpringTaskEnd(UnityFrame.CMsg msgData)
        {
            CMsgPetSystemGM2GCAckHotSpringTaskEnd ack = (CMsgPetSystemGM2GCAckHotSpringTaskEnd)msgData;

            CMsgPetSystemGM2GCAckHotSpringTaskEnd.CallBack(ack);
        }
Ejemplo n.º 16
0
        private void OnCMsgSceneSystemGM2GCAckAddNewArenaChallengeRecord(UnityFrame.CMsg msgData)
        {
            CMsgSceneSystemGM2GCAckAddNewArenaChallengeRecord ack = (CMsgSceneSystemGM2GCAckAddNewArenaChallengeRecord)msgData;

            CMsgSceneSystemGM2GCAckAddNewArenaChallengeRecord.CallBack(ack);
        }
Ejemplo n.º 17
0
        private void OnMsgSceneSystemGM2GCAckGetStroyInstanceProgress(UnityFrame.CMsg msgData)
        {
            CMsgSceneSystemGM2GCAckGetStroyInstanceProgress ack = (CMsgSceneSystemGM2GCAckGetStroyInstanceProgress)msgData;

            CMsgSceneSystemGM2GCAckGetStroyInstanceProgress.CallBack(ack);
        }
Ejemplo n.º 18
0
        private void OnCMsgSceneSystemGM2GCAckChallengeArenaRoleFinish(UnityFrame.CMsg msgData)
        {
            CMsgSceneSystemGM2GCAckChallengeArenaRoleFinish ack = (CMsgSceneSystemGM2GCAckChallengeArenaRoleFinish)msgData;

            CMsgSceneSystemGM2GCAckChallengeArenaRoleFinish.CallBack(ack);
        }
Ejemplo n.º 19
0
        private void OnMsgSceneSystemGM2GCAckGetNewArenaChallengees(UnityFrame.CMsg msgData)
        {
            CMsgSceneSystemGM2GCAckGetNewArenaChallengees ack = (CMsgSceneSystemGM2GCAckGetNewArenaChallengees)msgData;

            CMsgSceneSystemGM2GCAckGetNewArenaChallengees.CallBack(ack);
        }
Ejemplo n.º 20
0
        private void OnMsgSceneSystemGM2GCAckGetRoleArenaData(UnityFrame.CMsg msgData)
        {
            CMsgSceneSystemGM2GCAckGetRoleArenaData ack = (CMsgSceneSystemGM2GCAckGetRoleArenaData)msgData;

            CMsgSceneSystemGM2GCAckGetRoleArenaData.CallBack(ack);
        }
Ejemplo n.º 21
0
        private void OnMsgSceneSystemGM2GCAckQuitScene(UnityFrame.CMsg msgData)
        {
            CMsgSceneSystemGM2GCAckQuitScene ack = (CMsgSceneSystemGM2GCAckQuitScene)msgData;

            CMsgSceneSystemGM2GCAckQuitScene.CallBack(ack);
        }
Ejemplo n.º 22
0
        void OnMsgSceneSystemGM2GCAckEnterScene(UnityFrame.CMsg msgData)
        {
            CMsgSceneSystemGM2GCAckEnterScene ack = (CMsgSceneSystemGM2GCAckEnterScene)msgData;

            CMsgSceneSystemGM2GCAckEnterScene.CallBack(ack);
        }
Ejemplo n.º 23
0
//         private void OnMsgPetSystemGM2GCNtfUpdateHotSpring(UnityFrame.CMsg msgData)
//         {
//             CMsgPetSystemGM2GCNtfUpgradePet ack = (CMsgPetSystemGM2GCNtfUpgradePet)msgData;
//             CMsgPetSystemGM2GCNtfUpgradePet.CallBack(ack);
//         }

        private void OnMsgPetSystemGM2GCNtfActiveHotSpringTask(UnityFrame.CMsg msgData)
        {
            CMsgPetSystemGM2GCNtfActiveHotSpringTask ack = (CMsgPetSystemGM2GCNtfActiveHotSpringTask)msgData;

            CMsgPetSystemGM2GCNtfActiveHotSpringTask.CallBack(ack);
        }
Ejemplo n.º 24
0
        private void OnMsgPetSystemGM2GCAckUnlockPet(UnityFrame.CMsg msgData)
        {
            CMsgPetSystemGM2GCAckUnlockPet ack = (CMsgPetSystemGM2GCAckUnlockPet)msgData;

            CMsgPetSystemGM2GCAckUnlockPet.CallBack(ack);
        }
Ejemplo n.º 25
0
        private void OnMsgPetSystemGM2GCAckPetFinishHotSpringTask(UnityFrame.CMsg msgData)
        {
            CMsgPetSystemGM2GCAckPetFinishHotSpringTask ack = (CMsgPetSystemGM2GCAckPetFinishHotSpringTask)msgData;

            CMsgPetSystemGM2GCAckPetFinishHotSpringTask.CallBack(ack);
        }
Ejemplo n.º 26
0
 private void OnMsgLoginSystemLG2GCAckRegisterAccount(UnityFrame.CMsg msgData)
 {
     CMsgLoginSystemLG2GCAckRegisterAccount msg = (CMsgLoginSystemLG2GCAckRegisterAccount)msgData;
     m_registerResult = (ERegisterResult)msg.m_state;
     CGameClient.Singleton.Disconnect();
 }
Ejemplo n.º 27
0
        private void OnMsgPetSystemGM2GCAckGetPetUnlockData(UnityFrame.CMsg msgData)
        {
            CMsgPetSystemGM2GCAckGetPetUnlockData ack = (CMsgPetSystemGM2GCAckGetPetUnlockData)msgData;

            CMsgPetSystemGM2GCAckGetPetUnlockData.CallBack(ack);
        }
Ejemplo n.º 28
0
        private void OnMsgSceneSystemGM2GCAckRestoreStageTickets(UnityFrame.CMsg msgData)
        {
            CMsgSceneSystemGM2GCAckRestoreStageTickets ack = (CMsgSceneSystemGM2GCAckRestoreStageTickets)msgData;

            CMsgSceneSystemGM2GCAckRestoreStageTickets.CallBack(ack);
        }
Ejemplo n.º 29
0
        private void OnMsgPetSystemGM2GCAckGetPetBaseInforList(UnityFrame.CMsg msgData)
        {
            CMsgPetSystemGM2GCAckGetPetBaseInforList ack = (CMsgPetSystemGM2GCAckGetPetBaseInforList)msgData;

            CMsgPetSystemGM2GCAckGetPetBaseInforList.CallBack(ack);
        }
Ejemplo n.º 30
0
 private void OnSMsgServerLinkXS2XXReqPing(UnityFrame.CMsg msgData)
 {
     SMsgServerLinkXS2XXReqPing msg = new SMsgServerLinkXS2XXReqPing();
     CGameClient.Singleton.SendMsg(msg);
 }