ゲーム開発をしていると二次元配列を使用したくなることが多々あります。
Unityならインスペクタ上で代入もできるし簡単!!
と思って普通にpublic char[][] a;
のようにコーディングしたらインスペクタに表示されず、泣きを見ました...
備忘録として投稿...
#表示方法
方法としては子要素クラスをシリアライズすることで表示できます。
TwoDimesionalArray.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TwoDimensionalArray : MonoBehaviour
{
//子要素クラスを使用して配列を作成
public ChildArray[] array;
}
//シリアライズされた子要素クラス
[System.Serializable]
public class ChildArray
{
public char[] childArray;
}
[System.Serializable]
によってChildArrayクラスをシリアライズしています。
表示できました!
使い道はほとんどありませんが、子要素の中に子要素という風に改良してあげれば、三次元以上の配列も作成することができます。
#まとめ
- 二次元配列をインスペクタに表示したい場合は子要素をシリアライズする。
- 入れ子のように改良すれば、三次元以上の配列も作成できる。
誰が使うねん