読者です 読者をやめる 読者になる 読者になる

UnityのPropertyDrawerでReorderableListを利用する

Unity

UnityでReorderableListが使えるようになっていたのでPropertyDrawerで指定出来るようにしてみた

ReorderableList

本当なら

public class ReorderableListTest : MonoBehaviour
{
    [ReorderableList]public List<int> data_;
}

こんな形でIntReorderableListみたいなクラスを作らないでメンバー変数に直接Listを持たせてAttributeの指定をすればいい形にしたかったがやり方がわからん。
Listに直接Attributeの指定をしてもサイズが1以上ないとPropertyDrawer側の関数が呼ばれなく、呼ばれたあともListクラスが保持しているメンバー変数がserializedPropertyに投げられるためReorderableListの生成が出来なかった。

そのためLIstを持ったクラスを宣言して、メンバーに持たせることでとりえあず回避。 Inspector拡張を利用すればこんな形にしなくて済みそうだが、ReorderableListのためだけに書くとなるとちょっと面倒。

なんか良い方法ないかなーー