public override void WriteMetaData(RecordWriter writer) { writer.Write((uint)Length); writer.Write(Flags); writer.Write(FormId); writer.Write(Revision); writer.Write(Version); writer.Write(Unknown); }
protected virtual void BeforeWrite(RecordWriter writer) { }
protected virtual void AfterWrite(RecordWriter writer) { }
internal void WriteRecord(RecordWriter writer) { BeforeWrite(writer); var compinfo = InfoProvider.GetCompoundInfo(GetType()); foreach (var meminfo in compinfo.Members.Values.Distinct().OrderBy(m => m.Order)) { writer.WriteField(this, meminfo); } AfterWrite(writer); }
public abstract void WriteMetaData(RecordWriter writer);
public override void WriteMetaData(RecordWriter writer) { writer.Write((uint)Length + 24); // Write either FormType or properties union if (GroupType == GroupType.Top) writer.WriteStringFixedLength(FormKind); else writer.Write(properties.FormId); writer.Write((uint)GroupType); writer.Write(Day); writer.Write(TotalMonths); writer.Write(Unknown1); writer.Write(Version); writer.Write(Unknown2); }
public override void WriteMetaData(RecordWriter writer) { // TODO: write XXXX segment when current segment length exceeds max ushort writer.Write((ushort)Length); }