【发布时间】:2018-03-29 16:28:04
【问题描述】:
我希望有人可以帮助序列化这个二维数组配置...本质上它会序列化所有内容,但不会序列化名为 wallConfig0...3 的二维数组。现在我有 4 个,但我想要一个可以序列化为 JSON 的 wallConfig 2d 数组列表。请给我一些关于如何序列化这个数据结构的指导。谢谢。
-瑞克
我有一个房间列表:
[Serializable]
public class RoomDataList
{
public List<RoomData> roomDataList = new List<RoomData>();
}
每个房间都有这个数据:
[Serializable]
public class RoomData {
public int[,] wallConfig0;//TODO: change to list of 2d arrays
public int[,] wallConfig1;
public int[,] wallConfig2;
public int[,] wallConfig3;
public float[] wallLoc0;//TODO: change to list of vector3
public float[] wallLoc1;
public float[] wallLoc2;
public float[] wallLoc3;
public float wallRot0;
public float wallRot1;
public float wallRot2;
public float wallRot3;
public int[,] floorConfig;
public int parentRoomIndex;
public int parentDoorIndex;
public float parentDoorWallSize;
public int roomIndex;
public Vector3 location;
public Quaternion rotation;
public string filePath;
public string[] folderContents0;
public string[] folderContents1;
}
这是我的加载/保存到 JSON 函数:
private static RoomDataList LoadRoomData(string path) {
string json = File.ReadAllText(path);
return JsonUtility.FromJson<RoomDataList>(json);
}
private static void SaveRoomData(string path, RoomDataList roomDataList) {
string json = JsonUtility.ToJson(roomDataList);
StreamWriter sw = File.CreateText(path);
sw.Close();
File.WriteAllText(path, json);
}
【问题讨论】:
标签: c# unity3d serialization