public void Recover(EnterBattleFieldResponse response) { Config.Game.WaitingReady = response.ReadyTime; Config.Game.WaitingRound = response.RoundTime; m_EnemyPlayerList = new List <PlayerInfo>(); for (int i = 0; i < response.PlayerList.Count; i++) { if (response.PlayerList[i].ZoneId != App.Package.Player.playerInfo.ZoneId || response.PlayerList[i].UserId != App.Package.Player.playerInfo.UserId) { m_EnemyPlayerList.Add(response.PlayerList[i]); } else { App.Package.Player.playerInfo = response.PlayerList[i]; } } m_EnemyPlayerList.Sort(SortPlayerListByRoundOrder); AllPlayerList = new List <PlayerInfo>(m_EnemyPlayerList); AllPlayerList.Add(App.Package.Player.playerInfo); AllPlayerList.Sort(SortPlayerListByRoundOrder); m_ChessData.Clear(); ChessDataIds.Clear(); m_roundOrder = App.Package.Player.playerInfo.RoundOrder; m_IsEnemyReady = false; m_IsGameStart = true; m_IsReadyGame = false; m_CanDragChess = false; GameRoundCounter = response.Counter; App.Package.ChessGame.AddChessFromData(new List <ChessData>(response.ChessMap)); if (m_MapRoadStations == null || m_MapRoadStations.Count == 0) { InitFieldMap(); } }
public void CheckGameState() { CheckGameStateRequest request = new CheckGameStateRequest(); App.Manager.Network.Request("CheckGameState", request, delegate(IMessage responseData) { CheckGameStateResponse response = (CheckGameStateResponse)responseData; if (response.RoomId != "") { Common.UI.OpenTips("正在恢复战场..."); EnterBattleFieldRequest nRequest = new EnterBattleFieldRequest(); nRequest.RoomId = response.RoomId; App.Package.ChessGame.RoomId = response.RoomId; App.Manager.Network.Request("EnterBattleField", nRequest, delegate(IMessage nResponseData) { Common.UI.OpenTips("战斗还在继续,刻不容缓!"); EnterBattleFieldResponse nResponse = (EnterBattleFieldResponse)nResponseData; App.Package.ChessGame.Recover(nResponse); App.Manager.UI.ReplaceView("UIGamePanel"); }); } }); }