Files
BepInEx/BepInEx.Core/Configuration/AcceptableValueBase.cs
2021-04-11 14:10:00 +03:00

37 lines
1.0 KiB
C#

using System;
namespace BepInEx.Configuration
{
/// <summary>
/// Base type of all classes representing and enforcing acceptable values of config settings.
/// </summary>
public abstract class AcceptableValueBase
{
/// <param name="valueType">Type of values that this class can Clamp.</param>
protected AcceptableValueBase(Type valueType)
{
ValueType = valueType;
}
/// <summary>
/// Type of the supported values.
/// </summary>
public Type ValueType { get; }
/// <summary>
/// Change the value to be acceptable, if it's not already.
/// </summary>
public abstract object Clamp(object value);
/// <summary>
/// Check if the value is an acceptable value.
/// </summary>
public abstract bool IsValid(object value);
/// <summary>
/// Get the string for use in config files.
/// </summary>
public abstract string ToDescriptionString();
}
}