public override void ReadWrite(CGameGhost n, GameBoxReaderWriter rw) { Data = rw.Bytes(Data); Samples = rw.Array(Samples); rw.Int32(Unknown); rw.Boolean(Unknown); SamplePeriod = rw.Int32(SamplePeriod); rw.Int32(Unknown); n.Data = Task.Run(() => { var ghostData = new CGameGhostData { SamplePeriod = TimeSpan.FromMilliseconds(SamplePeriod) }; using (var ms = new MemoryStream(Data)) { ghostData.ReadSamples(ms, Samples.Length, 56); } return(ghostData); }); n.Data.ContinueWith(n.dataExceptionHandle); }
public override void ReadWrite(CGameGhost n, GameBoxReaderWriter rw) { UncompressedSize = rw.Int32(UncompressedSize); CompressedSize = rw.Int32(CompressedSize); Data = rw.Bytes(Data, CompressedSize); if (rw.Mode == GameBoxReaderWriterMode.Read) { n.Data = Task.Run(() => { var ghostData = new CGameGhostData(); using (var ms = new MemoryStream(Data)) ghostData.Read(ms, true); return(ghostData); }); n.Data.ContinueWith(n.dataExceptionHandle); } }