Beispiel #1
0
        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();
        }
Beispiel #2
0
            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);
                });
            }