Exemplo n.º 1
0
        public DcsOptionCategoryViewModel(string name, string categoryId, SettingsController controller)
            : base(name, controller)
        {
            _categoryId = categoryId;

            SelectedInstall.Subscribe(OnSelectedInstallChanged);
            ResetCommand.Subscribe(OnReset);
            ResetAllCommand.Subscribe(OnResetAll);
        }
Exemplo n.º 2
0
        public InstallationSettingsViewModel(SettingsController controller)
            : base("INSTALLATION", controller)
        {
            RemoveInstallationCommand = new ReactiveCommand(SelectedInstall.Select(i => i != null), false);

            DetectInstallationsCommand.Subscribe(OnDetectInstallations);
            RemoveInstallationCommand.Subscribe(OnRemoveInstallation);
            AddInstallationCommand.Subscribe(OnAddInstallation);
            VerifyInstallationsCommand.Subscribe(OnVerifyInstallations);
        }
Exemplo n.º 3
0
        public InstallationsWizardStepViewModel(IContainer container)
            : base(container)
        {
            _settingsService = container.Resolve <ISettingsService>();

            AddInstallationCommand.Subscribe(OnAddInstallation);
            DetectInstallationsCommand.Subscribe(OnDetectInstallations);

            RemoveInstallationCommand = new ReactiveCommand(SelectedInstall.Select(i => i != null), false);
            RemoveInstallationCommand.Subscribe(OnRemoveInstallation);
        }
        public GameViewModel(IContainer container)
        {
            DcsProcessMonitor.Instance.DcsProcessExited += OnDcsProcessExited;

            _container  = container;
            _controller = container.Resolve <GameController>();

            _profileService  = _container.Resolve <IProfileService>();
            _dcsWorldManager = container.Resolve <IDcsWorldManager>();

            IsUpdateAvailable =
                IsDcsOutOfDate.AsObservable().Merge(
                    IsCheckingLatestVersion.AsObservable().Merge(
                        IsLoading.AsObservable().Merge(
                            FailedVersionCheck.AsObservable()))).Select(_ => IsDcsOutOfDate.Value && !IsLoading.Value && !IsCheckingLatestVersion.Value && !FailedVersionCheck.Value)
                .ToReactiveProperty();

            IsUpdateAvailable.Subscribe(OnIsUpdateAvailableChange);

            var canPlayObservable =
                SelectedInstall
                .Select(_ => Unit.Default)
                .Merge(IsPlayingDcs.Select(_ => Unit.Default))
                .Merge(IsUpdateAvailable.Select(_ => Unit.Default)).Select(_ => CanLaunchDcs());

            LaunchDcsCommand = canPlayObservable.ToReactiveCommand();

            SelectInstallCommand.Subscribe(OnSelectInstall);
            UpdateDcsCommand.Subscribe(OnUpdateDcs);
            RepairDcsCommand.Subscribe(OnRepairDcs);
            LaunchDcsCommand.Subscribe(OnLaunchDcs);
            CheckForUpdatesCommand.Subscribe(OnCheckForUpdates);
            ShowNewsArticleCommand.Subscribe(OnShowNewsArticle);
            CleanShadersCommand.Subscribe(OnCleanShaders);

            _checkPlayingTimer          = new DispatcherTimer();
            _checkPlayingTimer.Interval = TimeSpan.FromSeconds(1);
            _checkPlayingTimer.Tick    += OnCheckPlayingTimerTick;
            _checkPlayingTimer.Start();

            IsUpdatingDcs.Subscribe(OnIsUpdatingDcsChanged);
        }