private void OnSelectedInstallChanged(InstallLocation install) { Options.Clear(); if (install == null) { return; } Task.Run(() => { try { var categories = SettingsController.GetDcsCategoryOptionForInstall(install, false); var category = categories.FirstOrDefault(c => c.Id == _categoryId); if (category == null) { return; } var models = OptionModelFactory.CreateAll(category.Options); foreach (var model in models) { model.ValueChangeObservable.Subscribe(value => OnValueChanged(model, value)); Options.AddOnScheduler(model); } } catch (Exception e) { GeneralExceptionHandler.Instance.OnError(e); } }); }
public ViewportOptionsViewModel(Module module, ViewportOption[] options, SettingsController controller) : base($" {module.DisplayName} VIEWPORT OPTIONS", controller) { _module = module; var models = OptionModelFactory.CreateAll(options); foreach (var model in models) { model.ValueChangeObservable.Subscribe(value => OnValueChanged(model, value)); Options.Add(model); } }
protected override Task InitializeAsync() { Task.Run(() => { try { var options = SettingsController.GetAdvancedOptions(_advancedOptionsCategory); var models = OptionModelFactory.CreateAll(options); foreach (var model in models) { model.ValueChangeObservable.Subscribe(value => OnValueChanged(model, value)); Options.AddOnScheduler(model); } } catch (Exception e) { GeneralExceptionHandler.Instance.OnError(e); } }); return(base.InitializeAsync()); }