public async Task <PvPStatus> LoadGames() { try { var result = await _client.GetAsync(_urlHelper.GetListGamesUrl(_baseUrl)); result.EnsureSuccessStatusCode(); var info = JsonConvert.DeserializeObject <PvPGameModel[]>(await result.Content.ReadAsStringAsync()); var status = new PvPStatus() { Connected = false, GameId = "?", OpenGames = info }; return(status); } catch (Exception ex) { return(new PvPStatus() { Connected = false, GameId = ex.GetType().Name + ": " + ex.Message, Error = ex }); } }
public async Task <PvPStatus> Connect(String url, bool useFunction, JoinRequest joinRequest, HttpClient client, GameService service) { try { _service = service; CreateNetworkHelper(url, useFunction, client); await _networkHelper.ConnectToSignalRHub(service, this, joinRequest); int playerId; _status = new PvPStatus() { Connected = true, GameId = joinRequest.GameId }; await _networkHelper.JoinGameOnServer(joinRequest); return(_status); } catch (Exception ex) { if (ex.Message == "TypeError: Failed to fetch") { _status = new PvPStatus() { Connected = false, GameId = ex.GetType().Name + ": CORS failed - " + ex.Message, Error = ex }; } else { _status = new PvPStatus() { Connected = false, GameId = ex.GetType().Name + ": " + ex.Message, Error = ex }; } return(_status); } }