Skip to content

配置系统 ​

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 控制台的「已加载插件」页提供了一键打开该插件配置目录的入口。

为 BrickLink Studio 2.0 打造的第三方 Mod 加载框架 · 与 BrickLink / LEGO 官方无关联