バイナリ ファイルへの保存に問題があります。
ゲーム情報をバイナリ ファイルに保存し、ゲームのロード時にロードする必要があります。保存されるすべての情報を含むクラスを作成してから保存しようとしました。
次のようになります。
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();
}
クラスのインスタンスをファイルに保存して、後で読み取るにはどうすればよいですか?