// UObject interface. void UTransBuffer::Serialize( FArchive& Ar ) { check( !Ar.IsPersistent() ); CheckState(); Super::Serialize( Ar ); if ( IsObjectSerializationEnabled() || !Ar.IsObjectReferenceCollector() ) { Ar << UndoBuffer; } Ar << ResetReason << UndoCount << ActiveCount << ActiveRecordCounts; CheckState(); }
// UObject interface. void UTransBuffer::Serialize( FArchive& Ar ) { check( !Ar.IsPersistent() ); CheckState(); // Handle garbage collection. Super::Serialize( Ar ); // We cannot support undoing across GC if we allow it to eliminate references so we need // to suppress it. if ( IsObjectSerializationEnabled() || !Ar.IsObjectReferenceCollector() ) { Ar.AllowEliminatingReferences( false ); Ar << UndoBuffer; Ar.AllowEliminatingReferences( true ); } Ar << ResetReason << UndoCount << ActiveCount; CheckState(); }