private void Start()
        {
            _mainViewModel.IsAvailable = false;
            if (string.IsNullOrWhiteSpace(_mainViewModel.Connection))
            {
                MessageBox.Show("Error: Connection to Azure blob storage not filled in. Please add key to the appsettings.json file");
                return;
            }

            files.Clear();
            remoteFiles.Clear();
            GameList.Clear();
            remoteGames.Clear();

            LoadGames();
            CheckRemote();
            DownloadNewGames();
            GameList.Clear();
            LoadGames();
            foreach (var gameType in _mainViewModel.GameTypes)
            {
                IndexLocally(gameType.Savegames);
                SyncDifferences(gameType);
                GameList.Clear();
                LoadGames();
            }
            _mainViewModel.IsAvailable = true;
            LastSyncTime = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss");
        }
예제 #2
0
        public void SearchGame(String name)
        {
            lock (queryGameLock)
            {
                GameList.Clear();

                var content = XHttpGet(String.Format(urlSearchGame, HttpUtility.UrlEncode(name)));
                Debug.Print("Goodgame games starting from {0}: {1}", name, content);

                if (String.IsNullOrEmpty(content))
                {
                    return;
                }

                try
                {
                    JArray games = JArray.Parse(content);
                    if (games.Count <= 0)
                    {
                        return;
                    }

                    foreach (JArray game in games)
                    {
                        GameList.Add(new KeyValuePair <String, String>(game[2].ToString(), game[0].ToString()));
                    }
                }
                catch (Exception e)
                {
                    Debug.Print("Goodgame queryGameList error: {0}", e.Message);
                }
            }
        }
        public void LoadGames()
        {
            GameList.Clear();

            Directory.CreateDirectory(_mainViewModel.DataDirectory);
            var fileList = Directory.GetFiles(_mainViewModel.DataDirectory);

            foreach (var file in fileList)
            {
                var info = LoadJson(file);

                var gameType          = _mainViewModel.GameTypes.FirstOrDefault(p => p.Extension == info.GameType);
                var gameInfoViewModel = new GameInfoViewModel(info, _mainViewModel.PlayerName);

                if (gameType != null)
                {
                    gameInfoViewModel.GameTypeObject = gameType;
                    gameInfoViewModel.IconImage      = new BitmapImage(new Uri(gameType.Icon, UriKind.RelativeOrAbsolute));
                }
                if (files.ContainsKey(info.FileName))
                {
                    gameInfoViewModel.File = files[info.FileName];
                }

                GameList.Add(gameInfoViewModel);
            }
        }
예제 #4
0
        public void PresetGame1()
        {
            GameList.Clear();
            for (int i = 0; i < 9; i++)
            {
                GameList.Add(new ObservableCollection <int>());
                for (int j = 0; j < 9; j++)
                {
                    GameList[i].Add(0);
                }
            }
            GameList[0][1] = 6;
            GameList[0][3] = 5;
            GameList[0][4] = 3;
            GameList[0][5] = 7;
            GameList[0][7] = 4;

            GameList[1][0] = 3;
            GameList[1][4] = 9;
            GameList[1][8] = 6;

            GameList[2][0] = 8;
            GameList[2][2] = 4;
            GameList[2][6] = 3;
            GameList[2][8] = 7;

            GameList[3][1] = 9;
            GameList[3][6] = 7;
            GameList[3][7] = 1;
            GameList[3][8] = 3;

            GameList[4][1] = 5;
            GameList[4][2] = 1;
            GameList[4][6] = 6;
            GameList[4][7] = 2;

            GameList[5][0] = 2;
            GameList[5][1] = 3;
            GameList[5][2] = 8;
            GameList[5][7] = 4;

            GameList[6][0] = 3;
            GameList[6][2] = 6;
            GameList[6][6] = 1;
            GameList[6][8] = 2;

            GameList[7][0] = 4;
            GameList[7][4] = 6;
            GameList[7][8] = 9;

            GameList[8][1] = 1;
            GameList[8][3] = 5;
            GameList[8][4] = 2;
            GameList[8][5] = 3;
            GameList[8][7] = 8;
        }
예제 #5
0
        public void Part()
        {
            if (this.Clients != null)
            {
                ClearClients();
            }

            if (this.Messages != null && this.Messages.Count > 0)
            {
                this.AddMessage(this.Server.User, "has left the channel.", MessageSettings.PartMessage);
                Log(Messages.Count, true);
                Messages.Clear();
            }

            if (GameList != null)
            {
                GameList.Clear();
            }
            if (userMessages != null)
            {
                userMessages.Clear();
            }
            if (TheFlowDocument != null)
            {
                TheFlowDocument.Blocks.Clear();
            }

            if (!IsPrivMsgChannel)
            {
                this.LoadDisconnectedLayout();
                Joined = false;
            }

            if (this.IsReconnecting)
            {
                this.Reconnecting(false);
            }
            else if (this.IsLoading)
            {
                this.Loading(false);
            }

            if (this.Server.IsWormNet)
            {
                this.Server.LeaveChannel(this.Name);
            }
            else
            {
                mw.GameSurgeIsConnected = false;
                this.Server.Cancel      = true;
            }
        }
예제 #6
0
        public void loadConfig()
        {
            XmlDocument xd = new XmlDocument();

            xd.Load(Path.Combine(Application.StartupPath, "config.xml"));

            DefaultItem = GameItem.parseXmlNode(xd.SelectSingleNode("config/gamelist/defaultitem"), null);

            GameList.Clear();
            XmlNodeList xnList = xd.SelectNodes("config/gamelist/gameitem");

            foreach (XmlNode xn in xnList)
            {
                GameList.Add(GameItem.parseXmlNode(xn, DefaultItem));
            }

            Current = GameList[0];
        }
예제 #7
0
 public override void OnRoomListUpdate(List <RoomInfo> roomList)
 {
     base.OnRoomListUpdate(roomList);
     mDebug.text += "OnRoomListUpdate \n";
     mDebug.text += $"Now there are {roomList.Count} rooms \n\n";
     list.Clear();
     RoomInfo.Clear();
     for (int i = 0; i < roomList.Count; i++)
     {
         if (roomList[i].PlayerCount > 0)
         {
             list.Add(roomList[i].Name + roomList[i]
                      .CustomProperties["masterclientnickname"],
                      roomList[i].PlayerCount, roomList[i].MaxPlayers);
             RoomInfo.Add(roomList[i]);
             mDebug.text += $"Room ID {i} Name: " + roomList[i].Name + "\n";
         }
     }
 }
예제 #8
0
        private void queryGameList(String name)
        {
            lock (queryGameLock)
            {
                GameList.Clear();

                var content = HtmlGet(String.Format(urlSearchGame, HttpUtility.UrlEncode(name)), String.Empty);
                Debug.Print("Twitch games starting from {0}: {1}", name, content);

                if (String.IsNullOrEmpty(content))
                {
                    return;
                }

                try
                {
                    JArray games = JArray.Parse(content);
                    if (games.Count <= 0)
                    {
                        return;
                    }

                    foreach (JObject game in games)
                    {
                        GameList.Add(new KeyValuePair <String, String>(game["id"].ToString(), game["name"].ToString()));
                    }
                }
                catch (Exception e)
                {
                    Debug.Print("TwitchWeb queryGameList error: {0}", e.Message);
                }

                //Twitch games: [{"name":"War Thunder","id":66366,"giantbombId":38992,"images":{"icon":"http://static.giantbomb.com/uploads/square_avatar/13/138444/2295942-w_warthunder_keyart_small.jpg","tiny":"http://static.giantbomb.com/uploads/square_mini/13/138444/2295942-w_warthunder_keyart_small.jpg","small":"http://static.giantbomb.com/uploads/scale_small/13/138444/2295942-w_warthunder_keyart_small.jpg","super":"http://static.giantbomb.com/uploads/scale_large/13/138444/2295942-w_warthunder_keyart_small.jpg","thumb":"http://static.giantbomb.com/uploads/scale_avatar/13/138444/2295942-w_warthunder_keyart_small.jpg","medium":"http://static.giantbomb.com/uploads/scale_medium/13/138444/2295942-w_warthunder_keyart_small.jpg","screen":"http://static.giantbomb.com/uploads/screen_medium/13/138444/2295942-w_warthunder_keyart_small.jpg"},"popularity":11,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Thunder-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Thunder-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Thunder-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Thunder-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Thunder-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Thunder-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Thunder-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Thunder-240x144.jpg"}},{"name":"War of The Immortals","id":33218,"giantbombId":37035,"images":{"icon":"http://static.giantbomb.com/uploads/square_avatar/8/87749/2080224-war_of_the_immortals_logo.jpg","tiny":"http://static.giantbomb.com/uploads/square_mini/8/87749/2080224-war_of_the_immortals_logo.jpg","small":"http://static.giantbomb.com/uploads/scale_small/8/87749/2080224-war_of_the_immortals_logo.jpg","super":"http://static.giantbomb.com/uploads/scale_large/8/87749/2080224-war_of_the_immortals_logo.jpg","thumb":"http://static.giantbomb.com/uploads/scale_avatar/8/87749/2080224-war_of_the_immortals_logo.jpg","medium":"http://static.giantbomb.com/uploads/scale_medium/8/87749/2080224-war_of_the_immortals_logo.jpg","screen":"http://static.giantbomb.com/uploads/screen_medium/8/87749/2080224-war_of_the_immortals_logo.jpg"},"popularity":1,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20The%20Immortals-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20The%20Immortals-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20The%20Immortals-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20The%20Immortals-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20The%20Immortals-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20The%20Immortals-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20The%20Immortals-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20The%20Immortals-240x144.jpg"}},{"name":"War of the Vikings","id":313414,"giantbombId":43504,"images":{"icon":"http://static.giantbomb.com/uploads/square_avatar/2/22486/2528199-war_of_the_vikings_plaza_banner.jpg","tiny":"http://static.giantbomb.com/uploads/square_mini/2/22486/2528199-war_of_the_vikings_plaza_banner.jpg","small":"http://static.giantbomb.com/uploads/scale_small/2/22486/2528199-war_of_the_vikings_plaza_banner.jpg","super":"http://static.giantbomb.com/uploads/scale_large/2/22486/2528199-war_of_the_vikings_plaza_banner.jpg","thumb":"http://static.giantbomb.com/uploads/scale_avatar/2/22486/2528199-war_of_the_vikings_plaza_banner.jpg","medium":"http://static.giantbomb.com/uploads/scale_medium/2/22486/2528199-war_of_the_vikings_plaza_banner.jpg","screen":"http://static.giantbomb.com/uploads/screen_medium/2/22486/2528199-war_of_the_vikings_plaza_banner.jpg"},"popularity":1,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Vikings-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Vikings-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Vikings-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Vikings-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Vikings-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Vikings-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Vikings-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Vikings-240x144.jpg"}},{"name":"War of the Roses","id":32448,"giantbombId":36170,"images":{"icon":"http://static.giantbomb.com/uploads/square_avatar/8/87790/2323889-box_wotr.png","tiny":"http://static.giantbomb.com/uploads/square_mini/8/87790/2323889-box_wotr.png","small":"http://static.giantbomb.com/uploads/scale_small/8/87790/2323889-box_wotr.png","super":"http://static.giantbomb.com/uploads/scale_large/8/87790/2323889-box_wotr.png","thumb":"http://static.giantbomb.com/uploads/scale_avatar/8/87790/2323889-box_wotr.png","medium":"http://static.giantbomb.com/uploads/scale_medium/8/87790/2323889-box_wotr.png","screen":"http://static.giantbomb.com/uploads/screen_medium/8/87790/2323889-box_wotr.png"},"popularity":1,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Roses-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Roses-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Roses-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Roses-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Roses-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Roses-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Roses-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Roses-240x144.jpg"}},{"name":"WarRock","id":20179,"giantbombId":22218,"images":{"icon":"http://static.giantbomb.com/uploads/square_avatar/0/217/326247-warrock_cover.jpg","tiny":"http://static.giantbomb.com/uploads/square_mini/0/217/326247-warrock_cover.jpg","small":"http://static.giantbomb.com/uploads/scale_small/0/217/326247-warrock_cover.jpg","super":"http://static.giantbomb.com/uploads/scale_large/0/217/326247-warrock_cover.jpg","thumb":"http://static.giantbomb.com/uploads/scale_avatar/0/217/326247-warrock_cover.jpg","medium":"http://static.giantbomb.com/uploads/scale_medium/0/217/326247-warrock_cover.jpg","screen":"http://static.giantbomb.com/uploads/screen_medium/0/217/326247-warrock_cover.jpg"},"popularity":1,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/WarRock-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/WarRock-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/WarRock-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/WarRock-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/WarRock-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/WarRock-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/WarRock-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/WarRock-240x144.jpg"}},{"name":"War of the Dead","id":30448,"giantbombId":33862,"images":{"icon":"http://static.giantbomb.com/uploads/square_avatar/9/97089/1684417-wardeadcover.png","tiny":"http://static.giantbomb.com/uploads/square_mini/9/97089/1684417-wardeadcover.png","small":"http://static.giantbomb.com/uploads/scale_small/9/97089/1684417-wardeadcover.png","super":"http://static.giantbomb.com/uploads/scale_large/9/97089/1684417-wardeadcover.png","thumb":"http://static.giantbomb.com/uploads/scale_avatar/9/97089/1684417-wardeadcover.png","medium":"http://static.giantbomb.com/uploads/scale_medium/9/97089/1684417-wardeadcover.png","screen":"http://static.giantbomb.com/uploads/screen_medium/9/97089/1684417-wardeadcover.png"},"popularity":1,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Dead-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Dead-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Dead-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Dead-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Dead-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Dead-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Dead-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Dead-240x144.jpg"}},{"name":"War Inc. Battlezone","id":32222,"giantbombId":35923,"images":{"icon":"http://static.giantbomb.com/uploads/square_avatar/0/4344/1842275-warinc_wallpaper1_1920x1080.jpg","tiny":"http://static.giantbomb.com/uploads/square_mini/0/4344/1842275-warinc_wallpaper1_1920x1080.jpg","small":"http://static.giantbomb.com/uploads/scale_small/0/4344/1842275-warinc_wallpaper1_1920x1080.jpg","super":"http://static.giantbomb.com/uploads/scale_large/0/4344/1842275-warinc_wallpaper1_1920x1080.jpg","thumb":"http://static.giantbomb.com/uploads/scale_avatar/0/4344/1842275-warinc_wallpaper1_1920x1080.jpg","medium":"http://static.giantbomb.com/uploads/scale_medium/0/4344/1842275-warinc_wallpaper1_1920x1080.jpg","screen":"http://static.giantbomb.com/uploads/screen_medium/0/4344/1842275-warinc_wallpaper1_1920x1080.jpg"},"popularity":1,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Inc.%20Battlezone-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Inc.%20Battlezone-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Inc.%20Battlezone-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Inc.%20Battlezone-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Inc.%20Battlezone-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Inc.%20Battlezone-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Inc.%20Battlezone-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Inc.%20Battlezone-240x144.jpg"}},{"name":"War Zone","id":3662,"giantbombId":4016,"images":{},"popularity":null,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Zone-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Zone-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Zone-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Zone-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Zone-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Zone-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Zone-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Zone-240x144.jpg"}},{"name":"War Chess","id":3201,"giantbombId":3492,"images":{},"popularity":null,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Chess-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Chess-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Chess-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Chess-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Chess-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Chess-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Chess-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Chess-240x144.jpg"}},{"name":"War Machine","id":13037,"giantbombId":14205,"images":{},"popularity":null,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Machine-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Machine-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Machine-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Machine-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Machine-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Machine-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Machine-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Machine-240x144.jpg"}},{"name":"War of the Dead Part 2","id":30447,"giantbombId":33863,"images":{"icon":"http://static.giantbomb.com/uploads/square_avatar/9/97089/1682802-warcover2.png","tiny":"http://static.giantbomb.com/uploads/square_mini/9/97089/1682802-warcover2.png","small":"http://static.giantbomb.com/uploads/scale_small/9/97089/1682802-warcover2.png","super":"http://static.giantbomb.com/uploads/scale_large/9/97089/1682802-warcover2.png","thumb":"http://static.giantbomb.com/uploads/scale_avatar/9/97089/1682802-warcover2.png","medium":"http://static.giantbomb.com/uploads/scale_medium/9/97089/1682802-warcover2.png","screen":"http://static.giantbomb.com/uploads/screen_medium/9/97089/1682802-warcover2.png"},"popularity":null,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Dead%20Part%202-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Dead%20Part%202-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Dead%20Part%202-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Dead%20Part%202-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Dead%20Part%202-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Dead%20Part%202-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Dead%20Part%202-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Dead%20Part%202-240x144.jpg"}},{"name":"War of Genesis III","id":21116,"giantbombId":23280,"images":{"icon":"http://static.giantbomb.com/uploads/square_avatar/0/5128/554470-logo.jpg","tiny":"http://static.giantbomb.com/uploads/square_mini/0/5128/554470-logo.jpg","small":"http://static.giantbomb.com/uploads/scale_small/0/5128/554470-logo.jpg","super":"http://static.giantbomb.com/uploads/scale_large/0/5128/554470-logo.jpg","thumb":"http://static.giantbomb.com/uploads/scale_avatar/0/5128/554470-logo.jpg","medium":"http://static.giantbomb.com/uploads/scale_medium/0/5128/554470-logo.jpg","screen":"http://static.giantbomb.com/uploads/screen_medium/0/5128/554470-logo.jpg"},"popularity":null,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Genesis%20III-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Genesis%20III-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Genesis%20III-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Genesis%20III-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Genesis%20III-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Genesis%20III-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Genesis%20III-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Genesis%20III-240x144.jpg"}},{"name":"War World: Tactical Combat","id":15867,"giantbombId":17302,"images":{"icon":"http://static.giantbomb.com/uploads/square_avatar/8/87790/1858027-box_wwtc.png","tiny":"http://static.giantbomb.com/uploads/square_mini/8/87790/1858027-box_wwtc.png","small":"http://static.giantbomb.com/uploads/scale_small/8/87790/1858027-box_wwtc.png","super":"http://static.giantbomb.com/uploads/scale_large/8/87790/1858027-box_wwtc.png","thumb":"http://static.giantbomb.com/uploads/scale_avatar/8/87790/1858027-box_wwtc.png","medium":"http://static.giantbomb.com/uploads/scale_medium/8/87790/1858027-box_wwtc.png","screen":"http://static.giantbomb.com/uploads/screen_medium/8/87790/1858027-box_wwtc.png"},"popularity":null,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20World%3A%20Tactical%20Combat-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20World%3A%20Tactical%20Combat-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20World%3A%20Tactical%20Combat-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20World%3A%20Tactical%20Combat-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20World%3A%20Tactical%20Combat-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20World%3A%20Tactical%20Combat-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20World%3A%20Tactical%20Combat-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20World%3A%20Tactical%20Combat-240x144.jpg"}},{"name":"War of Eclipse","id":99264,"giantbombId":40987,"images":{"icon":"http://static.giantbomb.com/uploads/square_avatar/2/24833/2402501-war_of_eclipse.png","tiny":"http://static.giantbomb.com/uploads/square_mini/2/24833/2402501-war_of_eclipse.png","small":"http://static.giantbomb.com/uploads/scale_small/2/24833/2402501-war_of_eclipse.png","super":"http://static.giantbomb.com/uploads/scale_large/2/24833/2402501-war_of_eclipse.png","thumb":"http://static.giantbomb.com/uploads/scale_avatar/2/24833/2402501-war_of_eclipse.png","medium":"http://static.giantbomb.com/uploads/scale_medium/2/24833/2402501-war_of_eclipse.png","screen":"http://static.giantbomb.com/uploads/screen_medium/2/24833/2402501-war_of_eclipse.png"},"popularity":null,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Eclipse-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Eclipse-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Eclipse-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Eclipse-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Eclipse-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Eclipse-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Eclipse-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Eclipse-240x144.jpg"}},{"name":"War of Nerves!","id":1004,"giantbombId":1100,"images":{"icon":"http://static.giantbomb.com/uploads/square_avatar/0/5278/288486-war_of_nerves.jpg","tiny":"http://static.giantbomb.com/uploads/square_mini/0/5278/288486-war_of_nerves.jpg","small":"http://static.giantbomb.com/uploads/scale_small/0/5278/288486-war_of_nerves.jpg","super":"http://static.giantbomb.com/uploads/scale_large/0/5278/288486-war_of_nerves.jpg","thumb":"http://static.giantbomb.com/uploads/scale_avatar/0/5278/288486-war_of_nerves.jpg","medium":"http://static.giantbomb.com/uploads/scale_medium/0/5278/288486-war_of_nerves.jpg","screen":"http://static.giantbomb.com/uploads/screen_medium/0/5278/288486-war_of_nerves.jpg"},"popularity":null,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Nerves!-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Nerves!-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Nerves!-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Nerves!-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Nerves!-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Nerves!-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Nerves!-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Nerves!-240x144.jpg"}},{"name":"War of Sonria","id":93310,"giantbombId":40857,"images":{"icon":"http://static.giantbomb.com/uploads/square_avatar/14/149021/2388377-warofsonria_featuredimage.jpg","tiny":"http://static.giantbomb.com/uploads/square_mini/14/149021/2388377-warofsonria_featuredimage.jpg","small":"http://static.giantbomb.com/uploads/scale_small/14/149021/2388377-warofsonria_featuredimage.jpg","super":"http://static.giantbomb.com/uploads/scale_large/14/149021/2388377-warofsonria_featuredimage.jpg","thumb":"http://static.giantbomb.com/uploads/scale_avatar/14/149021/2388377-warofsonria_featuredimage.jpg","medium":"http://static.giantbomb.com/uploads/scale_medium/14/149021/2388377-warofsonria_featuredimage.jpg","screen":"http://static.giantbomb.com/uploads/screen_medium/14/149021/2388377-warofsonria_featuredimage.jpg"},"popularity":null,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Sonria-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Sonria-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Sonria-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Sonria-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Sonria-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Sonria-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Sonria-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Sonria-240x144.jpg"}},{"name":"War of the Lance","id":16844,"giantbombId":18379,"images":{"icon":"http://static.giantbomb.com/uploads/square_avatar/1/15693/614756-916888_40937_front_1_.jpg","tiny":"http://static.giantbomb.com/uploads/square_mini/1/15693/614756-916888_40937_front_1_.jpg","small":"http://static.giantbomb.com/uploads/scale_small/1/15693/614756-916888_40937_front_1_.jpg","super":"http://static.giantbomb.com/uploads/scale_large/1/15693/614756-916888_40937_front_1_.jpg","thumb":"http://static.giantbomb.com/uploads/scale_avatar/1/15693/614756-916888_40937_front_1_.jpg","medium":"http://static.giantbomb.com/uploads/scale_medium/1/15693/614756-916888_40937_front_1_.jpg","screen":"http://static.giantbomb.com/uploads/screen_medium/1/15693/614756-916888_40937_front_1_.jpg"},"popularity":null,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Lance-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Lance-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Lance-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20the%20Lance-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Lance-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Lance-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Lance-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20the%20Lance-240x144.jpg"}},{"name":"War Front: Turning Point","id":18466,"giantbombId":20195,"images":{"icon":"http://static.giantbomb.com/uploads/square_avatar/0/1379/1293229-war_front___turning_point_coverart.png","tiny":"http://static.giantbomb.com/uploads/square_mini/0/1379/1293229-war_front___turning_point_coverart.png","small":"http://static.giantbomb.com/uploads/scale_small/0/1379/1293229-war_front___turning_point_coverart.png","super":"http://static.giantbomb.com/uploads/scale_large/0/1379/1293229-war_front___turning_point_coverart.png","thumb":"http://static.giantbomb.com/uploads/scale_avatar/0/1379/1293229-war_front___turning_point_coverart.png","medium":"http://static.giantbomb.com/uploads/scale_medium/0/1379/1293229-war_front___turning_point_coverart.png","screen":"http://static.giantbomb.com/uploads/screen_medium/0/1379/1293229-war_front___turning_point_coverart.png"},"popularity":null,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Front%3A%20Turning%20Point-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Front%3A%20Turning%20Point-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Front%3A%20Turning%20Point-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Front%3A%20Turning%20Point-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Front%3A%20Turning%20Point-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Front%3A%20Turning%20Point-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Front%3A%20Turning%20Point-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Front%3A%20Turning%20Point-240x144.jpg"}},{"name":"War of Angels","id":29310,"giantbombId":32565,"images":{"icon":"http://static.giantbomb.com/uploads/square_avatar/16/160705/2239727-warofangelsboxart.jpg","tiny":"http://static.giantbomb.com/uploads/square_mini/16/160705/2239727-warofangelsboxart.jpg","small":"http://static.giantbomb.com/uploads/scale_small/16/160705/2239727-warofangelsboxart.jpg","super":"http://static.giantbomb.com/uploads/scale_large/16/160705/2239727-warofangelsboxart.jpg","thumb":"http://static.giantbomb.com/uploads/scale_avatar/16/160705/2239727-warofangelsboxart.jpg","medium":"http://static.giantbomb.com/uploads/scale_medium/16/160705/2239727-warofangelsboxart.jpg","screen":"http://static.giantbomb.com/uploads/screen_medium/16/160705/2239727-warofangelsboxart.jpg"},"popularity":null,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Angels-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Angels-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Angels-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20of%20Angels-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Angels-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Angels-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Angels-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20of%20Angels-240x144.jpg"}},{"name":"War Inc.","id":9126,"giantbombId":9955,"images":{},"popularity":null,"boxArt":{"template":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Inc.-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Inc.-52x72.jpg","medium":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Inc.-136x190.jpg","large":"http://static-cdn.jtvnw.net/ttv-boxart/War%20Inc.-272x380.jpg"},"logoArt":{"template":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Inc.-{width}x{height}.jpg","small":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Inc.-60x36.jpg","medium":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Inc.-120x72.jpg","large":"http://static-cdn.jtvnw.net/ttv-logoart/War%20Inc.-240x144.jpg"}}]


                if (OnGameList != null)
                {
                    OnGameList(this, EventArgs.Empty);
                }
            }
        }
예제 #9
0
        public void ListTest()
        {
            var simplelist = new List<object>();

            object item1 = new object();
            object item2 = new object();
            object item3 = new object();
            object item4NotContains = new object();

            simplelist.Add(item1);
            simplelist.Add(item2);
            simplelist.Add(item3);

            var gameList = new GameList<object>();

            foreach (object o in simplelist)
            {
                gameList.Add(o);
            }

            foreach (object o in gameList)
            {
                Assert.IsTrue(simplelist.Contains(o));
            }

            foreach (object o in simplelist)
            {
                Assert.IsTrue(gameList.Contains(o));
            }

            Assert.IsFalse(gameList.Contains(item4NotContains));
            Assert.AreEqual(gameList.Count, 3);

            gameList.Remove(x => ReferenceEquals(x, item2));
            Assert.IsFalse(gameList.Contains(item2));
            Assert.AreEqual(gameList.Count, 2);

            gameList.Clear();
            Assert.AreEqual(gameList.Count, 0);
        }
예제 #10
0
 public void RefreshGameList()
 {
     GameList.Clear();
     RequestGamesFromServer();
 }