private void CreateGameImpl(CreateGameReq req, CreateGameResp resp) { Team owner = Server.TeamRegistry.GetTeam(req.Auth.TeamName); GameInfo gameInfo = Server.GameManager.CreateGame(owner); resp.GameInfo = new EnGameInfo(gameInfo); }
public async Task <Game.AdminClient.Models.Game> CreateGameAsync() { using (var adminService = new AdminServiceClient(new BasicHttpBinding(), new EndpointAddress(ConnectionData.Url))) { int sequenceNumber = SequenceNumber; var createGameReq = new CreateGameReq { 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)), }, }; _stopwatch.Start(); var createGameResp = await adminService.CreateGameAsync(createGameReq); _stopwatch.Stop(); LastCallTime = _stopwatch.ElapsedMilliseconds; _stopwatch.Reset(); if (createGameResp.Status != "OK") { throw new Exception(createGameResp.Message); } return(new Models.Game { GameId = createGameResp.GameInfo.GameId, Label = createGameResp.GameInfo.Label, State = createGameResp.GameInfo.State, }); } }
public CreateGameResp CreateGame(CreateGameReq req) { return(HandleServiceCall(req, new CreateGameResp(), CreateGameImpl)); }