|
@@ -197,26 +197,38 @@ namespace BepInEx.Configuration
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
- public ConfigEntry<T> GetSetting<T>(string section, string key)
|
|
|
+
|
|
|
+ public ConfigEntry<T> GetSetting<T>(ConfigDefinition configDefinition)
|
|
|
{
|
|
|
lock (_ioLock)
|
|
|
{
|
|
|
- Entries.TryGetValue(new ConfigDefinition(section, key), out var entry);
|
|
|
+ Entries.TryGetValue(configDefinition, out var entry);
|
|
|
return (ConfigEntry<T>)entry;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- public ConfigEntry<T> AddSetting<T>(ConfigDefinition configDefinition, T defaultValue, ConfigDescription configDescription = null)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public ConfigEntry<T> GetSetting<T>(string section, string key)
|
|
|
+ {
|
|
|
+ return GetSetting<T>(new ConfigDefinition(section, key));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public ConfigEntry<T> AddSetting<T>(ConfigDefinition configDefinition, T defaultValue, ConfigDescription configDescription = null)
|
|
|
{
|
|
|
if (!TomlTypeConverter.CanConvert(typeof(T)))
|
|
|
throw new ArgumentException($"Type {typeof(T)} is not supported by the config system. Supported types: {string.Join(", ", TomlTypeConverter.GetSupportedTypes().Select(x => x.Name).ToArray())}");
|
|
@@ -284,7 +296,8 @@ namespace BepInEx.Configuration
|
|
|
{
|
|
|
lock (_ioLock)
|
|
|
{
|
|
|
- var setting = GetSetting<T>(section, key) ?? AddSetting(section, key, defaultValue, string.IsNullOrEmpty(description) ? null : new ConfigDescription(description));
|
|
|
+ var definition = new ConfigDefinition(section, key, description);
|
|
|
+ var setting = GetSetting<T>(definition) ?? AddSetting(definition, defaultValue, string.IsNullOrEmpty(description) ? null : new ConfigDescription(description));
|
|
|
return new ConfigWrapper<T>(setting);
|
|
|
}
|
|
|
}
|