public void ReadCommonSaveData(GameContext ctx) { string filePath = Path.Combine(_commonDir, "val.npf"); if (!File.Exists(filePath)) { return; } byte[] bytes = File.ReadAllBytes(filePath); var reader = new MessagePackReader(bytes); var saveData = new CommonSaveData(ref reader); ctx.VM.RestoreFlags(saveData.Flags); }
private void WriteCommonSaveData(GameContext ctx) { var buffer = new ArrayBufferWriter <byte>(); var writer = new MessagePackWriter(buffer); var data = new CommonSaveData { Flags = ctx.VM.DumpFlags() }; data.Serialize(ref writer); writer.Flush(); string filePath = Path.Combine(_commonDir, "val.npf"); using FileStream file = File.OpenWrite(filePath); file.Write(buffer.WrittenSpan); File.Create(Path.Combine(_commonDir, "cqst.npf")).Close(); }