Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }