コード例 #1
0
        private static int GetPageTickets(Dictionary <int, GameTickets> games, Dictionary <int, AchievementTickets> tickets, string ticketsPage)
        {
            int pageTickets;
            var tokenizer = Tokenizer.CreateTokenizer(ticketsPage);

            pageTickets = 0;
            do
            {
                tokenizer.ReadTo("<a href='/ticketmanager.php?i=");
                if (tokenizer.NextChar == '\0')
                {
                    break;
                }

                tokenizer.ReadTo("'>");
                tokenizer.Advance(2);
                if (tokenizer.Match("Show"))
                {
                    continue;
                }

                var ticketId = Int32.Parse(tokenizer.ReadNumber().ToString());

                tokenizer.ReadTo("<a href='/Achievement/");
                tokenizer.Advance(22);
                var achievementId = Int32.Parse(tokenizer.ReadNumber().ToString());
                tokenizer.ReadTo("/>");
                tokenizer.Advance(2);
                var achievementName = tokenizer.ReadTo("</a>");

                tokenizer.ReadTo("<a href='/Game/");
                tokenizer.Advance(15);
                var gameId = Int32.Parse(tokenizer.ReadNumber().ToString());
                tokenizer.ReadTo("/>");
                tokenizer.Advance(2);
                var gameName = tokenizer.ReadTo("</a>");

                GameTickets gameTickets;
                if (!games.TryGetValue(gameId, out gameTickets))
                {
                    gameTickets = new GameTickets {
                        GameId = gameId, GameName = gameName.ToString()
                    };
                    games[gameId] = gameTickets;
                }

                AchievementTickets achievementTickets;
                if (!tickets.TryGetValue(achievementId, out achievementTickets))
                {
                    achievementTickets = new AchievementTickets {
                        AchievementId = achievementId, Game = gameTickets, AchievementName = achievementName.ToString()
                    };
                    tickets[achievementId] = achievementTickets;
                }

                achievementTickets.OpenTickets.Add(ticketId);
                gameTickets.OpenTickets++;

                ++pageTickets;
            } while (true);
            return(pageTickets);
        }
コード例 #2
0
        private void OpenGame(GameTickets game)
        {
            var url = "http://retroachievements.org/Game/" + game.GameId;

            Process.Start(url);
        }
コード例 #3
0
        private void OpenGameTickets(GameTickets game)
        {
            var url = "http://retroachievements.org/ticketmanager.php?ampt=1&g=" + game.GameId;

            Process.Start(url);
        }