public VariableHeader GetNextRecordVariableMeta(IBinaryReadStream stream) { RecordType rec = new RecordType(stream.GetInt32()); if (rec == Mutagen.Bethesda.Internals.Constants.Group) { return(this.GroupConstants.VariableMeta(stream.GetSpan(this.GroupConstants.HeaderLength))); } else { return(this.MajorConstants.VariableMeta(stream.GetSpan(this.MajorConstants.HeaderLength))); } }
public bool TryGetGroupFrame(IBinaryReadStream stream, out GroupFrame frame, int offset = 0, bool checkIsGroup = true) { if (!TryGetGroup(stream, out var meta, offset: offset, checkIsGroup: checkIsGroup)) { frame = default; return(false); } frame = new GroupFrame(meta, stream.GetSpan(checked ((int)meta.TotalLength))); return(true); }
public bool TryGetSubrecordFrame(IBinaryReadStream stream, RecordType targetType, out SubrecordFrame frame) { if (!TryGetSubrecord(stream, targetType, out var meta)) { frame = default; return(false); } frame = new SubrecordFrame(meta, stream.GetSpan(meta.TotalLength)); return(true); }
public bool TryGetMod(IBinaryReadStream stream, out ModHeader header) { if (stream.Remaining < this.ModHeaderLength) { header = default; return(false); } header = new ModHeader(this, stream.GetSpan(this.ModHeaderLength)); return(true); }
public SubrecordFrame GetSubrecordFrame(IBinaryReadStream stream, int offset = 0) { var meta = GetSubrecord(stream, offset); return(new SubrecordFrame(meta, stream.GetSpan(meta.TotalLength, offset: offset))); }
public SubrecordHeader GetSubrecord(IBinaryReadStream stream, int offset = 0) => new SubrecordHeader(this, stream.GetSpan(this.SubConstants.HeaderLength, offset));
public MajorRecordFrame GetMajorRecordFrame(IBinaryReadStream stream, int offset = 0) { var meta = GetMajorRecord(stream, offset); return(new MajorRecordFrame(meta, stream.GetSpan(checked ((int)meta.TotalLength), offset: offset))); }
public MajorRecordHeader GetMajorRecord(IBinaryReadStream stream, int offset = 0) => new MajorRecordHeader(this, stream.GetSpan(this.MajorConstants.HeaderLength, offset));
public GroupFrame GetGroupFrame(IBinaryReadStream stream, int offset = 0) { var meta = GetGroup(stream, offset); return(new GroupFrame(meta, stream.GetSpan(checked ((int)meta.TotalLength), offset: offset))); }
public GroupHeader GetGroup(IBinaryReadStream stream, int offset = 0) => new GroupHeader(this, stream.GetSpan(this.GroupConstants.HeaderLength, offset));
public ModHeader GetMod(IBinaryReadStream stream) => new ModHeader(this, stream.GetSpan(this.ModHeaderLength));
public VariableHeader GetVariableMeta(IBinaryReadStream stream, int offset = 0) => new VariableHeader(this, stream.GetSpan(this.HeaderLength, offset));