void UUnrealEdEngine::GetPackageList( TArray<UPackage*>* InPackages, UClass* InClass ) { InPackages->Empty(); for( FObjectIterator It ; It ; ++It ) { if( It->GetOuter() && It->GetOuter() != GetTransientPackage() ) { UObject* TopParent = NULL; if( InClass == NULL || It->IsA( InClass ) ) TopParent = It->GetOutermost(); if( Cast<UPackage>(TopParent) ) InPackages->AddUnique( (UPackage*)TopParent ); } } }