mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-02-04 10:53:31 +00:00
33 lines
1.1 KiB
C#
33 lines
1.1 KiB
C#
using System;
|
|
|
|
namespace Artemis.Core;
|
|
|
|
/// <summary>
|
|
/// Represents an attribute that describes a plugin feature
|
|
/// </summary>
|
|
[AttributeUsage(AttributeTargets.Class)]
|
|
public class PluginFeatureAttribute : Attribute
|
|
{
|
|
/// <summary>
|
|
/// Gets or sets the user-friendly name for this property, shown in the UI.
|
|
/// </summary>
|
|
public string? Name { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the user-friendly description for this property, shown in the UI.
|
|
/// </summary>
|
|
public string? Description { get; set; }
|
|
|
|
/// <summary>
|
|
/// The plugins display icon that's shown in the settings see <see href="https://materialdesignicons.com" /> for
|
|
/// available icons
|
|
/// </summary>
|
|
[Obsolete("Feature icons are no longer shown in the UI.")]
|
|
public string? Icon { get; set; }
|
|
|
|
/// <summary>
|
|
/// Marks the feature to always be enabled as long as the plugin is enabled
|
|
/// <para>Note: always <see langword="true" /> if this is the plugin's only feature</para>
|
|
/// </summary>
|
|
public bool AlwaysEnabled { get; set; }
|
|
} |