我在保存到二进制文件时遇到了一些问题。
我需要将我的游戏信息保存到一个二进制文件并在游戏加载时加载它。我试图用将保存的所有信息创建一个类,然后保存它。
它看起来像这样:
public struct SaveGameData
{
public List<Chunk> chunkList;
public string saveName;
public string playerName;
public Vector2 playerPosition;
}
问题是块列表...它不序列化并且类不能序列化,因为它包含对 XNA 类的引用。
我保存数据的函数如下所示:
public static void saveGame(string mSaveFileName, SaveGameData data)
{
saveFileName = mSaveFileName;
if (!Directory.Exists(saveFilePath))
{
Directory.CreateDirectory(saveFilePath);
}
FileStream stream = File.Open(saveFilePath + saveFileName + ".dat", FileMode.OpenOrCreate, FileAccess.Write);
data.saveName = saveFileName;
formatter.Serialize(stream, data);
stream.Close();
}
如何将类的实例保存到文件中,然后再读取?