備忘録です
通常ReactivePropertyはインスペクタ表示できないけど、ちょちょいといじれば表示させられるっぽい
#やることは2つ
①自前でReactivePropertyを継承したクラスを作って、そいつに[System.Serializable]をつける
②InspectorDisplayDrawerを継承したクラスを作って、①で作ったクラスを指定する
#実装
①の実装
①自前のReactivePropertyの作成.
/// <summary>
/// インスペクタに表示できるReactiveProperty<int>
/// </summary>
[System.Serializable]
public class IntReactiveProperty : ReactiveProperty<int>
{
public IntReactiveProperty()
{
}
}
①だけでもとりあえず表示は可能。ただ以下のようにインスペクタにはこんな感じでが出てくる.
いちいちToggle開くのはめんどいので、②を実装する
②の実装
②InspectorDisplayDrawerの指定.
/// <summary>
/// IntReactivePropertyを直接インスペクタからいじれるようにする(Toggleなしにできる)
/// </summary>
[CustomPropertyDrawer(typeof(IntReactiveProperty))]
public class AddInspectorDisplayDrawer : InspectorDisplayDrawer
{ }
するとこうなる
直接いじれて素敵〜〜〜!
#参考リンク
https://bluebirdofoz.hatenablog.com/entry/2021/02/13/230837