public GamePickerViewModel( GamePickerList gamePickerList, ActiveGameCategory activeGameCategory, LaunchGameService launchGameService, GameConfigService gameConfigService, FanGameEditingService fanGameEditingService ) { _gamePickerList = gamePickerList; _activeGameCategory = activeGameCategory; _launchGameService = launchGameService; _gameConfigService = gameConfigService; _fanGameEditingService = fanGameEditingService; MessengerInstance.Register <object?>(this, UpdateGamesToken, _ => UpdateGames()); GameButtons = new ObservableCollection <GameButton>(); UpdateGames(); }
public HomeViewModel( GamePickerViewModel gamePickerViewModel, ActiveGameCategory activeGameCategory, GameCategoryService gameCategoryService, LaunchRandomGameService launchRandomGameService, FanGameEditingService fanGameEditingService ) { _gamePickerViewModel = gamePickerViewModel; _activeGameCategory = activeGameCategory; _gameCategoryService = gameCategoryService; _launchRandomGameService = launchRandomGameService; _fanGameEditingService = fanGameEditingService; MessengerInstance.Register <object?>(this, RebuildHeadersMessageToken, RebuildHeaders); HeaderList = new ObservableCollection <HeaderButton>(); List <GameCategories> gameCategoryList = _gameCategoryService.CreateGameCategoryList(); foreach (var category in gameCategoryList) { HeaderList.Add(new CategoryHeaderButton(category, this)); } HeaderList.Add(CreateRandomGameHeader()); OpenSettingsCommand = new RelayCommand( () => MessengerInstance.Send("SettingsPage.xaml", MainViewModel.ChangePageMessageToken) ); CreateNewFanGameCommand = new RelayCommand(() => { _fanGameEditingService.SetFanGameToEdit(null); MessengerInstance.Send("FanGameEditorPage.xaml", MainViewModel.ChangePageMessageToken); }); NewFanGameVisibility = Visibility.Hidden; }