using System.Collections.Generic; using System.Collections.ObjectModel; using Artemis.Core.Plugins.Abstract; using Artemis.Core.Plugins.Models; namespace Artemis.Core.Plugins.LayerBrush { /// /// /// Allows you to create one or more s usable by profile layers. /// public abstract class LayerBrushProvider : Plugin { private readonly List _layerBrushDescriptors; protected LayerBrushProvider(PluginInfo pluginInfo) : base(pluginInfo) { _layerBrushDescriptors = new List(); } public ReadOnlyCollection LayerBrushDescriptors => _layerBrushDescriptors.AsReadOnly(); protected void AddLayerBrushDescriptor(string displayName, string description, string icon) where T : BaseLayerBrush { _layerBrushDescriptors.Add(new LayerBrushDescriptor(displayName, description, icon, typeof(T), this)); } } }