Unity でエディター拡張の設定をソースコードからオーバーライドする方法
公開:
更新:
Unity でエディター拡張パッケージを作成していて、パッケージ利用者がソースコードから設定(定数)を変更できる仕組みを考案しました。partial
クラスを用いて実現しています。
純粋な C# スクリプトのみで動作するので、設定ファイルを読み込むロジック作成が不要になります。 Unity 以外でも、使い所はないかもしれないですが応用可能です。
やり方
配布元のパッケージには、デフォルト設定の定義を partial
クラスで置いておきます。
// デフォルト設定の定義と値
public static partial class MyConfClass
{
public static readonly float A = 1f;
public static readonly float B = 2f;
}
利用者側では任意の場所にその partial
クラスを拡張するスクリプトを配置し、静的コンストラクターで設定値を上書きします。
public static partial class MyConfClass
{
static MyConfClass ()
{
// A の設定を 3 に変える
A = 3f;
}
}
スクリプトを変更するたびにコンパイルが走るので、常に最新の値を参照できます。