外观
配置系统
SDK 内置了轻量级、类型安全的 INI 配置文件读写引擎。
配置文件默认存放在本地应用数据目录:
text
%LOCALAPPDATA%\Studio 2.0\ModConfigs\{PluginId}.ini绑定配置项
用 Config.Bind<T> 声明配置。文件不存在时会自动生成并填入默认值与注释;已存在则自动读取解析。
csharp
// 声明配置包装器字段
private ConfigEntry<bool> _enableFeature;
private ConfigEntry<float> _intervalSeconds;
private ConfigEntry<string> _customPath;
public override void OnLoaded()
{
// Bind 参数: section(分类), key(键名), defaultValue(默认值), description(说明)
_enableFeature = Config.Bind<bool>("General", "Enabled", true, "是否开启该特性");
_intervalSeconds = Config.Bind<float>("Timer", "Interval", 10.5f, "执行间隔(秒)");
_customPath = Config.Bind<string>("Storage", "ExportDir", @"C:\Exports", "导出目录绝对路径");
// 读取值
bool isEnabled = _enableFeature.Value;
// 修改值(自动标记脏状态并实时保存回 INI 文件)
_intervalSeconds.Value = 20.0f;
// 监听配置变更
_enableFeature.ValueChanged += (newValue) =>
{
Logger.Info("配置 Enabled 发生改变: " + newValue);
};
}支持的类型
bool、int、float、double、string。
要点
Bind<T>的四个参数缺一不可:分类、键名、默认值、说明。说明会作为注释写进生成的 INI,方便用户手改。- 写入
ConfigEntry.Value后立即落盘,不需要手动调Save()。 - 需要在设置界面里改配置时,
ValueChanged是最省事的联动方式。 - 用户可以直接编辑 INI 文件;F10 控制台的「已加载插件」页提供了一键打开该插件配置目录的入口。