/// <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(); }
/// <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; }
public KeysApi(IKeysValidator keysValidator, IKeysFactory keysFactory) { _keysValidator = keysValidator; _keysFactory = keysFactory; }