Exemple #1
0
        private void LoadLobbies(LobbyCollection lobbies)
        {
            if (lobbies.Count == 0)
            {
                _skinDefinition.Lobbies = new LobbyCollectionViewModel(Constants.DefaultNumberOfLobbyItems, _skinDefinition.Triggers);
            }
            else
            {
                _skinDefinition.Lobbies = new LobbyCollectionViewModel(lobbies.First().Items.Count, _skinDefinition.Triggers);
            }

            foreach (var lobby in lobbies)
            {
                var lobbyViewModel = new LobbyViewModel(new PlayerStatusTypeViewModel(PlayerStatusType.FromId(lobby.PlayerStatus), _skinDefinition.Triggers),
                                                        lobby.FavoriteSize);

                foreach (var item in lobby.Items)
                {
                    var itemViewModel = FindLobbyItemSource(item.Id);
                    if (itemViewModel != null)
                    {
                        lobbyViewModel.Items.Add(new LobbyItemViewModel(itemViewModel));
                    }
                    else
                    {
                        _buildErrors.Add(new ErrorMessageViewModel("Lobby arena",
                                                                   $"Cannot find the lobby item {item.Id} in the list of available lobby items",
                                                                   ErrorServerity.Warning,
                                                                   null));
                    }
                }

                _skinDefinition.Lobbies.Add(lobbyViewModel);
            }
        }
Exemple #2
0
        private void LoadArenaLayouts(Arena arena, ArenaViewModel arenaViewModel)
        {
            foreach (var arenaLayout in arena.Layouts)
            {
                var arenaLayoutViewModel = new ArenaLayoutViewModel(arenaViewModel,
                                                                    new PlayerStatusTypeViewModel(PlayerStatusType.FromId(arenaLayout.PlayerStatus), _skinDefinition.Triggers),
                                                                    arenaLayout.Attributes,
                                                                    arenaLayout.DataGridInfo);

                LoadArenaLayoutAlsoPlayingGames(arenaViewModel.Name, arenaLayoutViewModel, arenaLayout.AlsoPlayingGames);
                LoadArenaLayoutFilters(arenaLayoutViewModel, arenaLayout.FilteringInfo);
                LoadArenaLayoutGames(arenaViewModel.Name, arenaLayoutViewModel, arenaLayout.Games, arenaViewModel.IsNewGamesArena);

                arenaViewModel.Layouts.Add(arenaLayoutViewModel);
            }

            if (arenaViewModel.Layouts.Count > 0)
            {
                arenaViewModel.Layouts[0].Activate();
            }
        }
Exemple #3
0
        private void LoadGamesGroupCollection(string description, GameGroupLayoutCollection source, GameGroupLayoutCollectionViewModel destination)
        {
            foreach (var layout in source)
            {
                var viewModel = new GameGroupLayoutViewModel(new PlayerStatusTypeViewModel(PlayerStatusType.FromId(layout.PlayerStatus), _skinDefinition.Triggers));

                foreach (var game in layout.Games)
                {
                    AddGameToCollection(game.Id, viewModel.Games, description);
                }

                destination.Add(viewModel);
            }
        }