bool UPagedVolumeComponent::SetPagedVolume(UVoreealPagedVolume* NewVolume) { if (NewVolume == Volume && NewVolume == nullptr) return false; AActor* Owner = GetOwner(); if (!AreDynamicDataChangesAllowed() && Owner != NULL) { FMessageLog("PIE").Warning(FText::Format( FText::FromString(TEXT("Calling SetPagedVolume on '{0}' but Mobility is Static.")), FText::FromString(GetPathName()))); return false; } Volume = NewVolume; // If there were a volume before we call then we force gc UWorld* World = GetWorld(); if (World) { World->ForceGarbageCollection(true); } return true; }
bool UBasicVolumeComponent::SetBasicVolume(UBasicVolume* NewVolume) { if (NewVolume == GetVolume() && NewVolume == nullptr) return false; AActor* Owner = GetOwner(); if (!AreDynamicDataChangesAllowed() && Owner != NULL) { FMessageLog("PIE").Warning(FText::Format( FText::FromString(TEXT("Calling SetBasicVolume on '{0}' but Mobility is Static.")), FText::FromString(GetPathName()))); return false; } if (m_octree.IsValid()) { m_octree.Reset(); } PRAGMA_DISABLE_DEPRECATION_WARNINGS Volume = NewVolume; PRAGMA_ENABLE_DEPRECATION_WARNINGS // If there were a volume before we call then we force gc UWorld* World = GetWorld(); if (World) { World->ForceGarbageCollection(true); } EnsureRendering(); return true; }