private void SubscribeToRecordEvents(GenericFormRecord record) { record.EditorIdChanged += ForwardEditorIdChangedEvent; }
protected override void AfterCopy(GenericFormRecord copy) { allLightData.CopyTo(((Wthr)copy).allLightData, 0); base.AfterCopy(copy); }
protected abstract void WithRecord(GenericFormRecord record);
internal void WriteRecord(GenericFormRecord record, uint formId) { if (header == null) throw new InvalidOperationException("Header not yet written"); FormKind formKind = (FormKind)InfoProvider.GetRecordInfo(record.GetType()).Signature; if (formKind != currentGroupFormKind) { // End existing group if one has begun if (currentGroupFormKind != FormKind.Any) { EndSegment(); } currentGroupFormKind = formKind; BeginGroupSegment(currentGroupFormKind); numRecords++; } // Convert global context Form ID to local relative Form ID uint localFormId = ReferenceMapper.ContexToLocal(formId); DoWriteRecord(record, localFormId); numRecords++; }