using System; namespace Artemis.Core.Modules; /// /// Represents an attribute that describes a data model property /// [AttributeUsage(AttributeTargets.Property)] public class DataModelPropertyAttribute : 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; } /// /// Gets or sets the an optional prefix to show before displaying elements in the UI. /// public string? Prefix { get; set; } /// /// Gets or sets an optional affix to show behind displaying elements in the UI. /// public string? Affix { get; set; } /// /// Gets or sets the name of list items, only applicable to enumerable data model properties /// public string? ListItemName { get; set; } /// /// Gets or sets an optional maximum value, this value is not enforced but used for percentage calculations. /// public object? MaxValue { get; set; } /// /// Gets or sets an optional minimum value, this value is not enforced but used for percentage calculations. /// public object? MinValue { get; set; } /// /// Gets or sets whether this property resets the max depth of the data model, defaults to true /// public bool ResetsDepth { get; set; } = true; }