【发布时间】:2020-04-23 21:38:22
【问题描述】:
我正在尝试将数据写入文件。我想做的是让每个函数打开一个文件(如果存在),写入它然后在下一个函数之前关闭它。下面是我到目前为止得到的代码,它确实写入了一个文件,但不是我想要的。
例如,我希望 GetInitialRoomData() 首先打开、写入和关闭文件。然后下一个函数GetInitialTargetData() 打开、写入和关闭文件。任何想法/代码将不胜感激?谢谢!
void WriteInitialDataToFile()
{
string path = Application.persistentDataPath + fileName;
if (!File.Exists(path))
{
File.WriteAllText(path, "");
}
GetInitialRoomData();
GetInitialTargetData();
string json = JsonConvert.SerializeObject(saveDataList);
Debug.Log(json);
File.AppendAllText(path, json);
}
void GetInitialRoomData()
{
foreach (GameObject roomObject in GameObject.FindGameObjectsWithTag("Cell"))
{
saveRoomObject = new SaveRoomData(roomObject.name, roomObject.transform.position);
saveDataList.Add(saveRoomObject);
}
}
void GetInitialTargetData()
{
foreach (GameObject targetObject in GameObject.FindGameObjectsWithTag("Target"))
{
saveTargetObject = new SaveRoomData(targetObject.name, targetObject.transform.position, targetObject.transform.eulerAngles);
saveDataList.Add(saveTargetObject);
}
}
【问题讨论】:
-
您能详细解释一下您到底想要什么吗?我看不到
GetInitialRoomData或GetInitialTargetData会在哪里读/写任何文件...唯一的方法是WriteInitialDataToFile....您希望它们分开并且每种方法都有自己的写作吗? -
是的。我希望每个方法都写入自己的数据,然后下一个方法写入数据。我需要将每个数据单独放在 json 文件中。例如。一段 roomCoordinates,然后是下一段 targetObject 坐标,以此类推
标签: json unity3d save file-writing