private void WaitNextTurnImpl(WaitNextTurnReq req, WaitNextTurnResp resp) { WaitTurnInfo wi = Server.GameManager.WaitNextTurn(req.PlayerId, req.RefTurn, req.Auth.GetClientCode(), DateTime.Now); resp.TurnComplete = wi.TurnComplete; resp.GameFinished = wi.GameFinished; resp.FinishCondition = wi.FinishCondition.ToString(); resp.FinishComment = wi.FinishComment; }
public WaitNextTurnResp WaitNextTurn(int playerId, int refTurn) { var addr = _serverUrl + "/ClientService.svc/json/WaitNextTurn"; var createPlayerRequest = new WaitNextTurnReq() { PlayerId = playerId, RefTurn = refTurn, Auth = GetAuth() }; var data = Newtonsoft.Json.JsonConvert.SerializeObject(createPlayerRequest); var response = RestHelper.SendPost(new Uri(addr), data); JsonSerializer serializer = new JsonSerializer(); using (StreamReader streamReader = new StreamReader(response.GetResponseStream())) { return((WaitNextTurnResp)serializer.Deserialize(streamReader, typeof(WaitNextTurnResp))); } }
public bool WaitNextTurn() { var req = new WaitNextTurnReq { Auth = new ReqAuth { TeamName = Settings.TeamName, AuthCode = Settings.AuthCode, ClientName = Settings.UserName, SequenceNumber = Settings.SequenceNumber, SessionId = Settings.SessionId }, PlayerId = Settings.PlayerId, RefTurn = Settings.Turn }; while (true) { req.Auth.AuthCode = Settings.AuthCode; req.Auth.SequenceNumber = Settings.SequenceNumber; req.RefTurn = Settings.Turn; Console.WriteLine($"WaitNextTurn RefTurn={req.RefTurn}"); var waitNextTurnResp = Program.ServiceCallInvoker.InvokeAsync <WaitNextTurnReq, WaitNextTurnResp>(Settings.ServerUrl.TrimEnd('/') + "/json/WaitNextTurn", req).Result; Settings.SequenceNumber++; if (waitNextTurnResp.IsOk()) { if (waitNextTurnResp.GameFinished) { return(false); } if (waitNextTurnResp.TurnComplete) { return(true); } } else { throw new ApplicationException("WaitNextTurn() Failed"); } } }
private async Task <WaitNextTurnResp> WaitNextTurn() { var waitNextTurnReq = new WaitNextTurnReq { Auth = new ReqAuth { TeamName = TeamName, AuthCode = AuthCode, ClientName = Username, SequenceNumber = SequenceNumber, SessionId = SessionId }, PlayerId = PlayerId, RefTurn = Turn }; var waitNextTurnResp = await ServiceCallInvoker.InvokeAsync <WaitNextTurnReq, WaitNextTurnResp>(ServiceUrl.TrimEnd('/') + "/json/WaitNextTurn", waitNextTurnReq); CommonDataManager.SequenceNumber++; return(waitNextTurnResp); }
public WaitNextTurnResp WaitNextTurn(WaitNextTurnReq req) { return(HandleServiceCall(req, new WaitNextTurnResp(), WaitNextTurnImpl)); }