public void SaveStateBinary(BinaryWriter writer) { if (!BizSwan.bizswan_binstatesave(Core, savebuff, savebuff.Length)) { throw new InvalidOperationException($"{nameof(BizSwan.bizswan_binstatesave)}() returned false!"); } writer.Write(savebuff.Length); writer.Write(savebuff); var d = new TextStateData(); SaveTextStateData(d); BinaryQuickSerializer.Write(d, writer); }
public void LoadStateBinary(BinaryReader reader) { int length = reader.ReadInt32(); if (length != savebuff.Length) { throw new InvalidOperationException("Save buffer size mismatch!"); } reader.Read(savebuff, 0, length); if (!BizSwan.bizswan_binstateload(Core, savebuff, savebuff.Length)) { throw new InvalidOperationException($"{nameof(BizSwan.bizswan_binstateload)}() returned false!"); } var d = BinaryQuickSerializer.Create <TextStateData>(reader); LoadTextStateData(d); }