Skip to content

Settings meta ja

Tom_XV edited this page Sep 23, 2026 · 3 revisions

English | 日本語

実験的な機能です。 中核 1.2.0(フレームワーク 1.2.0)で入ったものです。

Mods 画面(Options → Mods → あなたの Mod → Settings)には、Mod の BepInEx 設定項目がすべて並びます。中核(DragNWash.ModFramework)の SettingMeta と SectionMeta を使うと、表示名や並び順、上級者向けかどうか、変えたら再起動が要るかといった見せ方を決められます。セクションにも同じような指定ができます。どれも付けなくて構いません。何も付けなければ、セクション名とキー名の順に並ぶだけです。

使い方

項目の ConfigDescription のタグにインスタンスを入れます。

_watch = Config.Bind("Reload", "WatchFiles", false,
    new ConfigDescription("PNG がディスク上で変わったら読み直します。", null,
        new SettingMeta { DisplayName = "Watch texture files", Advanced = true, Order = 20 },
        new SectionMeta { DisplayName = "Reloading", Description = "開発者ツールがオンの間だけ。", Order = 10 }));

_size = Config.Bind("Fonts", "AtlasPointSize", 72,
    new ConfigDescription("代替フォントの文字の鮮明さ。", new AcceptableValueRange<int>(24, 160),
        new SettingMeta { Advanced = true, RequiresRestart = true }));

SettingMeta

プロパティ ページの動き
string DisplayName 設定キーの代わりに表示
int Order セクション内の位置。小さい順で、同じならキー名の順
bool Advanced ページ最上段の Show advanced settings をオンにするまで隠す(この行は、Mod に上級者向けの項目があるときだけ出ます)
bool RequiresRestart 説明の下に「Takes effect after the game restarts.」を添える

SectionMeta

そのセクションにある項目のどれか 1 つのタグに入れれば、その項目が入っているセクションに効きます。

プロパティ ページの動き
string DisplayName セクション名の代わりに表示
string Description セクションの見出しの下に表示
int Order セクション同士の位置。小さい順で、同じなら名前の順

フレームワークを参照しない場合

ページはタグをメンバー名で読むので、同じメンバーを持っていればどんなオブジェクトでも通ります。ConfigurationManager の属性も同じで、IsAdvanced、DispName、Order は Advanced、DisplayName、Order と同じように読まれます。なので、ConfigurationManager の属性をもう付けている Mod は、何も変えなくて大丈夫です。

Settings タブで編集できるもの

設定は、Mod の Settings タブに 1 つずつ行になって並び、左に名前と説明、右に操作する部品が出ます(1.5.0)。部品は項目の型で決まります。

  • bool にはスイッチが付きます
  • AcceptableValueRange 付きの数値には、- と + の付いたスライダーと、数を打てる欄が付きます(1.5.0)。どれも同じきりのいい刻みで止まります。刻みは範囲のおよそ 20 分の 1 を 1、2、5 に 10 の累乗を掛けた値に切り下げたもので、0.1 から 8 なら 0.2 ずつ、0 から 100 なら 5 ずつです。それ以外の数値には、数を打てる欄を - と + で挟んだものが付き、1 ずつ(float、double、decimal なら 0.1 ずつ)動きます
  • 列挙型と AcceptableValueList は、選択肢が 4 つまでで収まるなら、横に並んだボタンになります(1.5.0)。そうでなければ - と + で順に切り替えます
  • 中核 1.2.0 からは 文字列の値 も。文字列やキーボードショートカット、色など、BepInEx が設定ファイルに文字で書くものは全部です。Enter を押すか入力欄から離れると反映されますが、設定のパーサーが受け付けない値だった場合は元に戻って、その行の下に理由が出ます。打っている途中で戻る(Esc か、ゲームパッドの B)と、元の値に戻して何も保存しません(1.5.0)
  • KeyboardShortcut には Change のボタンも付きます(1.5.0 より前は Capture key という名前でした)。これを押すと、次に押したキーが、そのとき押さえていた修飾キーと一緒に値になります。Esc を押すと、何も変えずにやめます。同じキーをほかの設定も使っているときは、行の下にそう出ます
  • Color には、値の隣に色見本が付きます(1.5.0)
  • BepInEx が文字で書けない型は、表示するだけで、Mod の設定ファイルで変えるよう書き添えます

ページ全体の「すべて初期値に戻す」は、今もわざと用意していません。その代わり、行ごとに戻せます。既定値と違う値の行には点が付き、既定値が何かも出て、丸い矢印のボタンで既定値に戻せます。設定が 6 つ以上ある Mod では、タブの一番上に検索欄が付きます(1.5.0)。

Clone this wiki locally