public override void OnPluginEnabled(Plugin plugin) { _logger = plugin.Get <ILogger>(); _managementService = plugin.Get <IPluginManagementService>(); _brushProvider = plugin.GetFeatureInfo <AmbilightLayerBrushProvider>(); ScreenCaptureService ??= new AmbilightScreenCaptureService(new DX11ScreenCaptureService()); SystemEvents.DisplaySettingsChanged += SystemEventsOnDisplaySettingsChanged; }
/// <summary> /// Adds the provided prerequisite to the feature of type <typeparamref name="T"/>. /// </summary> /// <param name="prerequisite">The prerequisite to add</param> public void AddFeaturePrerequisite <T>(PluginPrerequisite prerequisite) where T : PluginFeature { if (_plugin == null) { throw new ArtemisPluginException("Cannot add feature prerequisites before the plugin is loaded"); } PluginFeatureInfo info = _plugin.GetFeatureInfo <T>(); if (!info.Prerequisites.Contains(prerequisite)) { info.Prerequisites.Add(prerequisite); } }
public PluginFeatureViewModel(PluginFeatureInfo pluginFeatureInfo, bool showShield, ICoreService coreService, IDialogService dialogService, IPluginManagementService pluginManagementService, IMessageService messageService) { _coreService = coreService; _dialogService = dialogService; _pluginManagementService = pluginManagementService; _messageService = messageService; FeatureInfo = pluginFeatureInfo; ShowShield = FeatureInfo.Plugin.Info.RequiresAdmin && showShield; }