private async void PopulateSettings(object sender, Plugins.Settings.Views.PopulateSettingsEventArgs e) { using (e.GetDeferral()) { try { var modules = await _dcsWorldManager.GetInstalledAircraftModulesAsync(); var container = e.Controller.GetChildContainer(); var viewportController = container.Resolve <ViewportController>(); e.AddCategory("VIEWPORTS", new ViewportSettingsViewModel(viewportController, e.Controller)); foreach (var module in modules) { var options = _viewportService.GetViewportOptionsByModuleId(module.ModuleId); if (options.Length > 0) { e.AddCategory("VIEWPORTS", new ViewportOptionsViewModel(module, options, viewportController, e.Controller)); } } } catch (Exception ex) { GeneralExceptionHandler.Instance.OnError(ex); } } }
public ViewportOption[] GetViewportOptions(string moduleId) { var options = _viewportService.GetViewportOptionsByModuleId(moduleId); foreach (var option in options) { if (_profileService.TryGetValue <object>(string.Format(ViewportProfileCategories.ViewportOptionsFormat, moduleId), option.Id, out var value)) { option.Value = value; } } return(options); }