项目未添加到列表
Items not adding to list
我有自定义 class Map
,其中包含 2 个自定义列表 classes Bricks
和 Dangers
。问题是我的代码没有向该自定义 classes 添加元素。
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);
}
作为 Debug.Log
的输出,我得到 {"mapName:": "test"}
我认为它适用于序列化对象的类型。
将 [Serializable] 属性添加到您的 类 并重试。我认为您也必须将其添加到 Vector 属性中。
我有自定义 class Map
,其中包含 2 个自定义列表 classes Bricks
和 Dangers
。问题是我的代码没有向该自定义 classes 添加元素。
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);
}
作为 Debug.Log
的输出,我得到 {"mapName:": "test"}
我认为它适用于序列化对象的类型。 将 [Serializable] 属性添加到您的 类 并重试。我认为您也必须将其添加到 Vector 属性中。