public void StartConnection()
        {
            _connection.On <GalaxySweeperGame>("gameUpdated", (game) =>
            {
                Console.WriteLine($"gameUpdated message ontvangen");

                _galaxySweeperBot.DetermineBestMove(game, true);

                if (game.isFinished)
                {
                    _galaxySweeperApiHelper.AcceptInvite(game.opponent.challengeToken);
                }
            });

            _connection.On <GalaxySweeperGame>("inviteAccepted", (game) =>
            {
                Console.WriteLine($"inviteAccepted message ontvangen");
            });

            try
            {
                _connection.StartAsync().Wait();
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Exception: {ex}");
            }
        }
Exemple #2
0
        public void AcceptInvitesForAllGames(IEnumerable <GalaxySweeperGame> games)
        {
            var opponents = games.Select(t => t.opponent.challengeToken).Distinct().ToList();

            foreach (var opponent in opponents)
            {
                var gamesAgainstThisOpponent = games.Where(t => t.opponent.challengeToken == opponent).ToList();
                if (gamesAgainstThisOpponent.All(t => t.isFinished == true))
                {
                    _logger.WriteLine("Found an opponent without active games");
                    _galaxySweeperApiHelper.AcceptInvite(opponent);
                }
            }
        }