private void L2C_StartGame(MobaMessage msg)
        {
            OperationResponse operationResponse = msg.Param as OperationResponse;

            byte[]           array            = (byte[])operationResponse.Parameters[0];
            byte[]           buffer           = (byte[])operationResponse.Parameters[1];
            PvpStartGameInfo pvpStartGameInfo = SerializeHelper.Deserialize <PvpStartGameInfo>(array);
            BattleRoomInfo   battleRoomInfo   = SerializeHelper.Deserialize <BattleRoomInfo>(buffer);

            PvpStateBase.LogState("L2C_StartGame:" + (StringUtils.DumpObject(array) ?? "null"));
            if (pvpStartGameInfo != null && battleRoomInfo != null)
            {
                this._isGsConnected = false;
                NetWorkHelper.Instance.DisconnectFromGateServer(false);
                NetWorkHelper.Instance.DisconnectLobbyServer();
                Singleton <PvpManager> .Instance.LoginInfo            = pvpStartGameInfo;
                Singleton <PvpManager> .Instance.ServerBattleRoomInfo = battleRoomInfo;
                NetWorkHelper.Instance.ConnectToPvpServer();
                if (!string.IsNullOrEmpty(battleRoomInfo.roomVoiceID))
                {
                }
            }
            else
            {
                ClientLogger.Error("L2C_StartGame: PvpStartGameInfo is null");
                PvpStateManager.Instance.ChangeState(new PvpStateHome());
            }
        }
        private void SaveCurrentState(BattleRoomInfo roomInfo, PvpStartGameInfo loginInfo, ReadyPlayerSampleInfo[] playerInfos)
        {
            this._roomId = roomInfo.roomId;
            Singleton <PvpManager> .Instance.LoginInfo            = loginInfo;
            Singleton <PvpManager> .Instance.ServerBattleRoomInfo = roomInfo;
            Singleton <PvpManager> .Instance.SetBattleInfoWithoutJoinType(roomInfo.battleId);

            Singleton <PvpManager> .Instance.SetRoomInfo(roomInfo, -2147483648, playerInfos, ToolsFacade.Instance.GetSummIdByUserid(long.Parse(this._userId)).ToString());

            NetWorkHelper.Instance.DisconnectFromGateServer(false);
            NetWorkHelper.Instance.ConnectToPvpServer();
            MobaMessageManager.RegistMessage((ClientMsg)20007, new MobaMessageFunc(this.OnConnectPvp));
        }
        private void RecoverFromLoadingState(BattleRoomInfo roomInfo, PvpStartGameInfo loginInfo, ReadyPlayerSampleInfo[] playerInfos, bool isFighting)
        {
            PvpStateBase.LogState("RecoverFromLoadingState: " + StringUtils.DumpObject(roomInfo) + " " + StringUtils.DumpObject(loginInfo));
            Singleton <PvpManager> .Instance.SetBattleInfoWithoutJoinType(roomInfo.battleId);

            Singleton <PvpManager> .Instance.SetRoomInfo(roomInfo, loginInfo.newUid, playerInfos, null);

            Singleton <PvpManager> .Instance.LoginInfo = loginInfo;
            if (isFighting)
            {
                Singleton <PvpManager> .Instance.RoomInfo.UpdateAllLoadOk();
            }
            NetWorkHelper.Instance.DisconnectFromGateServer(false);
            NetWorkHelper.Instance.ConnectToPvpServer();
            this.CurrentLink = PvpStateRecoverBase.ActiveLink.PvpServer;
            if (!string.IsNullOrEmpty(roomInfo.roomVoiceID))
            {
            }
        }
Beispiel #4
0
        private void HandleNewbieStartGame(byte[] startGameDataOrig)
        {
            NewbieStartGameData newbieStartGameData = SerializeHelper.Deserialize <NewbieStartGameData>(startGameDataOrig);
            PvpStartGameInfo    startGameInfo       = newbieStartGameData.startGameInfo;
            BattleRoomInfo      btRoomInfo          = newbieStartGameData.btRoomInfo;

            ReadyPlayerSampleInfo[] playerInfos = newbieStartGameData.playerInfos;
            if (startGameInfo != null && btRoomInfo != null && playerInfos != null)
            {
                this.NewbieSetRoomInfo(startGameInfo.newUid, playerInfos);
                NetWorkHelper.Instance.DisconnectFromGateServer(false);
                NetWorkHelper.Instance.DisconnectLobbyServer();
                Singleton <PvpManager> .Instance.LoginInfo            = startGameInfo;
                Singleton <PvpManager> .Instance.ServerBattleRoomInfo = btRoomInfo;
                NetWorkHelper.Instance.ConnectToPvpServer();
            }
            else
            {
                ClientLogger.Error("L2C_StartGame: PvpStartGameInfo is null");
                PvpStateManager.Instance.ChangeState(new PvpStateHome());
            }
        }
Beispiel #5
0
 public void SetRoomInfo(BattleRoomInfo roomInfo, int myNewId, ReadyPlayerSampleInfo[] allPlayers, string summonerIdObserverd = null)
 {
     this.ServerBattleRoomInfo = roomInfo;
     this.SetRoomInfo(roomInfo.roomId, myNewId, allPlayers, summonerIdObserverd);
 }