using System; namespace Artemis.Core; /// /// Represents an attribute that describes a plugin feature /// [AttributeUsage(AttributeTargets.Class)] public class PluginFeatureAttribute : Attribute { /// /// Gets or sets the user-friendly name for this property, shown in the UI. /// public string? Name { get; set; } /// /// Gets or sets the user-friendly description for this property, shown in the UI. /// public string? Description { get; set; } /// /// The plugins display icon that's shown in the settings see for /// available icons /// [Obsolete("Feature icons are no longer shown in the UI.")] public string? Icon { get; set; } /// /// Marks the feature to always be enabled as long as the plugin is enabled /// Note: always if this is the plugin's only feature /// public bool AlwaysEnabled { get; set; } }