using System;
namespace UXAssist.Common.ModFeatures;
///
/// Marks a static class as a mod feature so that can discover it.
/// Lifecycle methods (Init, Start, Uninit, OnInputUpdate, OnUpdate) are optional.
///
[AttributeUsage(AttributeTargets.Class, Inherited = false)]
public sealed class ModFeatureAttribute : Attribute
{
///
/// Optional display name of the feature.
///
public string Name { get; }
///
/// Execution order among discovered static features. Lower values run first.
///
public int Order { get; set; }
///
/// Initializes a new instance of the class.
///
/// Optional display name of the feature.
public ModFeatureAttribute(string name = null)
{
Name = name;
}
}