mirror of
https://github.com/All-Of-Us-Mods/MiraAPI.git
synced 2026-10-19 15:51:48 +00:00
37 lines
1.3 KiB
C#
37 lines
1.3 KiB
C#
using System;
|
|
using BepInEx.Configuration;
|
|
using MiraAPI.LocalSettings.SettingTypes;
|
|
using MiraAPI.Utilities;
|
|
|
|
namespace MiraAPI.LocalSettings.Attributes;
|
|
|
|
/// <summary>
|
|
/// Creates a <see cref="LocalNumberSetting"/> for the <see cref="ConfigEntry{T}"/>.
|
|
/// </summary>
|
|
/// <param name="min">Minimum range.</param>
|
|
/// <param name="max">Maximum range.</param>
|
|
/// <param name="increment">Increment per use.</param>
|
|
/// <param name="suffixType">Suffix for the value.</param>
|
|
/// <param name="formatString">Format string used when formating.</param>
|
|
/// <inheritdoc/>
|
|
[AttributeUsage(AttributeTargets.Property)]
|
|
public class LocalNumberSettingAttribute(
|
|
string? name = null,
|
|
string? description = null,
|
|
float min = 1,
|
|
float max = 5,
|
|
float increment = 1,
|
|
MiraNumberSuffixes suffixType = MiraNumberSuffixes.None,
|
|
string? formatString = null
|
|
) : LocalSettingAttribute(name, description)
|
|
{
|
|
private readonly string? _name = name;
|
|
private readonly string? _description = description;
|
|
|
|
/// <inheritdoc/>
|
|
public override LocalNumberSetting CreateSetting(Type tab, ConfigEntryBase configEntryBase)
|
|
{
|
|
return new LocalNumberSetting(tab, configEntryBase, _name, _description, new FloatRange(min, max), increment, suffixType, formatString);
|
|
}
|
|
}
|