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 GameButton( Game game, GamePickerViewModel parent, LaunchGameService launchGameService, GameConfigService gameConfigService, FanGameEditingService fanGameEditingService ) { _game = game; _parent = parent; _launchGameService = launchGameService; _gameConfigService = gameConfigService; _fanGameEditingService = fanGameEditingService; Command = new RelayCommand(async() => { if (!string.IsNullOrEmpty(_game.FileLocation)) { var error = await _launchGameService.LaunchGame(_game); if (error != null) { MessageBox.Show(error.Message, "Error"); } } else { _gameConfigService.SetGameToConfigure(_game); new GameConfigWindow().ShowDialog(); } }); EditCommand = new RelayCommand(() => { _fanGameEditingService.SetFanGameToEdit((FanGame)_game); _parent.MessengerInstance.Send("FanGameEditorPage.xaml", MainViewModel.ChangePageMessageToken); }); }