using System;
namespace BepInEx.Configuration
{
///
/// Metadata of a .
///
public class ConfigDescription
{
///
/// Create a new description.
///
/// Text describing the function of the setting and any notes or warnings.
/// Range of values that this setting can take. The setting's value will be automatically clamped.
/// Objects that can be used by user-made classes to add functionality.
public ConfigDescription(string description, AcceptableValueBase acceptableValues = null, params object[] tags)
{
AcceptableValues = acceptableValues;
Tags = tags;
Description = description ?? throw new ArgumentNullException(nameof(description));
}
///
/// Text describing the function of the setting and any notes or warnings.
///
public string Description { get; }
///
/// Range of acceptable values for a setting.
///
public AcceptableValueBase AcceptableValues { get; }
///
/// Objects that can be used by user-made classes to add functionality.
///
public object[] Tags { get; }
///
/// Convert the description object into a form suitable for writing into a config file.
///
public string ToSerializedString()
{
return $"## {Description.Replace("\n", "\n## ")}";
}
}
}