0
私はカスタムクラスとDangers
の2つのリストを含むカスタムクラスMap
を持っています。問題は、私のコードがそのカスタムクラスに要素を追加していないことです。 Debug.Log
からの出力としてリストに追加しない項目
public class Map
{
public string mapName;
public List<Brick> bricks;
public List<Danger> dangers;
public Map()
{
bricks = new List<Brick>();
dangers = new List<Danger>();
}
}
public class Brick
{
public Vector2 Position;
}
public class Danger
{
public Vector2 Position;
}
private void CreateMap()
{
Map map = new Map();
map.mapName = "test";
map.bricks.Add(new Brick { Position = new Vector2(1, 1) });
map.bricks.Add(new Brick { Position = new Vector2(2, 1) });
map.bricks.Add(new Brick { Position = new Vector2(5, 1) });
map.bricks.Add(new Brick { Position = new Vector2(6, 1) });
map.bricks.Add(new Brick { Position = new Vector2(7, 1) });
map.dangers.Add(new Danger { Position = new Vector2(3, 1) });
map.dangers.Add(new Danger { Position = new Vector2(4, 1) });
Debug.Log(JsonUtility.ToJson(map));
AddMap(map);
}
私はそれがオブジェクトをシリアル化のタイプのためだと思う{"mapName:": "test"}
これはJsonUtilityと関係があると思います。 AddMap行にブレークポイントを設定し、map.blicksが実際に空であるかどうかを確認します。 – Jeffrey
この回答を確認https://stackoverflow.com/a/34274465/2189031 – Mitya
コードはVS 2015で正常に動作します。上記のコメントを参照 – Jeffrey