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)) { } }
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()); } }
public void SetRoomInfo(BattleRoomInfo roomInfo, int myNewId, ReadyPlayerSampleInfo[] allPlayers, string summonerIdObserverd = null) { this.ServerBattleRoomInfo = roomInfo; this.SetRoomInfo(roomInfo.roomId, myNewId, allPlayers, summonerIdObserverd); }