public plStateDataRecord ParseStateRecord(byte[] record, hsResMgr mgr) { MemoryStream ms = new MemoryStream(record); hsStream s = new hsStream(ms); s.Version = mgr.Version; plStateDataRecord result = new plStateDataRecord(this); try { result.ReadStreamHeader(s, mgr); result.Read(s, mgr); } catch (Exception e) { throw new plSDLException("Failed to parse StateDataRecord", e); } finally { s.Close(); ms.Close(); } return result; }
public byte[] DumpStateRecord(plStateDataRecord record, hsResMgr mgr) { MemoryStream ms = new MemoryStream(); hsStream s = new hsStream(ms); s.Version = mgr.Version; byte[] buf = null; try { record.WriteStreamHeader(s, mgr); record.Write(s, mgr); } catch (Exception e) { throw new plSDLException("Failed to dump StateDataRecord", e); } finally { buf = ms.ToArray(); s.Close(); ms.Close(); } return buf; }