public async Task PauseGameAsync(int gameId) { using (var adminService = new AdminServiceClient(new BasicHttpBinding(), new EndpointAddress(ConnectionData.Url))) { int sequenceNumber = SequenceNumber; var pauseGameReq = new PauseGameReq { Auth = new ReqAuth { ClientName = ConnectionData.Username, TeamName = ConnectionData.TeamName, SessionId = _sessionId, SequenceNumber = sequenceNumber, AuthCode = GetAuthCode(string.Format("{0}:{1}:{2}:{3}{4}", ConnectionData.TeamName, ConnectionData.Username, _sessionId, sequenceNumber, ConnectionData.Password)), }, GameId = gameId, }; _stopwatch.Start(); var pauseGameResp = await adminService.PauseGameAsync(pauseGameReq); _stopwatch.Stop(); LastCallTime = _stopwatch.ElapsedMilliseconds; _stopwatch.Reset(); if (pauseGameResp.Status != "OK") { throw new Exception(pauseGameResp.Message); } } }
private void PauseGameImpl(PauseGameReq req, PauseGameResp resp) { Server.GameManager.PauseGame(req.GameId, Server.TeamRegistry.GetTeam(req.Auth.TeamName)); }
public PauseGameResp PauseGame(PauseGameReq req) { return(HandleServiceCall(req, new PauseGameResp(), PauseGameImpl)); }