internal async void StartGame() { List <string> decks = Decks.Where(c => c.IsSelected).Select(c => c.Text).ToList(); settings.SavePreferredDecks(decks); var gid = await CardsAgainstHumility.Add(CardsAgainstHumility.NewId(), GameName, decks, MaxPlayers, MaxScore); await CardsAgainstHumility.JoinGame(gid); navService.Navigate(new Uri("/GamePage.xaml", UriKind.Relative)); }
private async Task CreateGame() { startBtn.Enabled = false; try { int maxPlayers = 10; int pointsToWin = 5; if (!int.TryParse(maxPlayersTxt.Text, out maxPlayers)) { ShowAlert("Max Players", "Max Players must be an integer"); return; } if (!int.TryParse(pointsToWinTxt.Text, out pointsToWin)) { ShowAlert("Points to Win", "Points to win must be an integer"); return; } if ((maxPlayers >= 3) && (pointsToWin >= 5)) { var selectedDecks = decks.Where(c => c.IsSelected).Select(c => c.Text).ToList(); settings.SavePreferredDecks(selectedDecks); var gid = await CardsAgainstHumility.Add(CardsAgainstHumility.NewId(), gameNameTxt.Text, selectedDecks, maxPlayers, pointsToWin); CardsAgainstHumility.JoinGame(gid).Wait(); StartActivity(typeof(GameActivity)); Finish(); } else { if (maxPlayers < 3) { ShowAlert("Max Players", "Max Players must be at least 3"); } else { ShowAlert("Points to Win", "Points to Win must be at least 5"); } } } catch (Exception ex) { Log.WriteLine(LogPriority.Error, "Exception when Creating a game", $"Message: {ex.Message}{System.Environment.NewLine}StackTrace: {ex.StackTrace}"); throw; } finally { startBtn.Enabled = true; } }