Class SaveFileSerializer
ENGINE LAYER - Binary save file format serializer
Responsibilities:
- Write SaveGameData to binary file format
- Read SaveGameData from binary file format
- Handle file format: magic bytes, headers, metadata
- Atomic writes (temp file → rename) to prevent corruption
- Version validation
File Format:
- Magic bytes: "HGSV" (4 bytes)
- Metadata: version, save name, date, tick, speed, scenario
- System data: count + (name, bytes) pairs
- Command log: count + bytes[]
- Checksum: uint32
Usage: SaveFileSerializer.WriteToDisk(saveData, filePath); SaveGameData data = SaveFileSerializer.ReadFromDisk(filePath);
public static class SaveFileSerializer
- Inheritance
-
objectSaveFileSerializer
Methods
ReadFromDisk(string)
Read SaveGameData from disk
public static SaveGameData ReadFromDisk(string filePath)
Parameters
filePathstring
Returns
VerifyVersionCompatibility(SaveGameData, string)
Verify version compatibility
public static bool VerifyVersionCompatibility(SaveGameData saveData, string currentVersion)
Parameters
saveDataSaveGameDatacurrentVersionstring
Returns
- bool
WriteToDisk(SaveGameData, string)
Write SaveGameData to disk with atomic write (temp file → rename)
public static void WriteToDisk(SaveGameData saveData, string filePath)
Parameters
saveDataSaveGameDatafilePathstring