Exemplo n.º 1
0
 /// <summary>
 /// Initializes a new instance of OptionViewModel.
 /// </summary>
 /// <param name="accessor">An object that provide access to control keys.</param>
 /// <param name="validator">An object that is used to validate control keys.</param>
 public OptionsViewModel(IHaveControlKeys accessor, IKeysValidator validator) : base("Options")
 {
     if (accessor == null)
     {
         throw new ArgumentNullException(nameof(accessor));
     }
     Accessor = accessor;
     if (validator == null)
     {
         throw new ArgumentNullException(nameof(validator));
     }
     _vaidator       = validator;
     _timer          = new DispatcherTimer();
     _timer.Interval = TimeSpan.FromMilliseconds(1000);
     _timer.Tick    += (x, e) => ClearAllActiveKeysAndErrors();
 }
Exemplo n.º 2
0
        /// <summary>
        /// Initializes a new instance of MainWindowViewModel.
        /// </summary>
        /// <param name="builder">An object that is responsible for building core game objects.</param>
        /// <param name="highscores">The list of the highscores in the game.</param>
        /// <param name="gameSerializer">An object that is responsible for saving and loading GameState.</param>
        /// <param name="validator">An object that validates control keys used in the game.</param>
        /// <param name="provider">An object that provides some configuration settings used in the game.</param>
        public MainWindowViewModel(IGameBuilder builder, HighscoreList highscores, IGameSerializer gameSerializer,
                                   IKeysValidator validator, ISettingsProvider provider) : base("Main")
        {
            if (provider == null)
            {
                throw new ArgumentNullException(nameof(provider));
            }
            _provider = provider;
            var vm = new List <ViewModelBase>
            {
                new StartMenuViewModel(this, gameSerializer),
                new OptionsViewModel(this, validator),
                new HighscoresViewModel(highscores),
                new GameViewModel(builder, this, this, provider),
                new EndGameViewModel(highscores),
                new PauseViewModel(this, gameSerializer)
            };

            foreach (var result in vm.OfType <CloseableViewModel>())
            {
                result.RequestClose += (sender, args) => OnCloseView((sender as ViewModelBase)?.Name);
            }
            ViewModels = vm;
        }
Exemplo n.º 3
0
 public KeysApi(IKeysValidator keysValidator, IKeysFactory keysFactory)
 {
     _keysValidator = keysValidator;
     _keysFactory   = keysFactory;
 }