見出し画像

【Unity】Inspector上で二次元リストっぽいものを扱うための小技

変数に[SerializeField]やpublicを付けるとInspector上でいろいろイジれるようになる、常識ですね。
しかし、二次元リストを使おうとしてもInspectorには何も表示されないんです。

[SerializeField]
private List<List<int>> list = new List<List<int>>();

スクリーンショット 2020-11-23 0.01.32

Inspector上でどうしても二次元リストを使いたい時に自分がやってる苦肉の策を紹介しときます。
多分もっといい方法はあると思います。

ほんへ

結論から言うと、List型変数をもつクラスのリストを作ってしまえばいいんです。

[SerializeField]
private List<aaaa> list = new List<aaaa>();

[System.Serializable]
class aaaa
{
    public List<int> iii = new List<int>();
}

スクリーンショット 2020-11-23 0.24.46

int型のリスト「iii」を持つクラス「aaaa」のリストを作ることで、擬似的に二次元リストを作れます。

なお使う場合は以下のようにします。

int uu = list[0].iii[1]; //この場合入るのは1

おわり

そもそも二次元リストをボコスカ使ってる人って自分以外にいるんですかね?
そんなに難しくないんで使ってみましょうね。

この記事が気に入ったらサポートをしてみませんか?