void AAudioVolume::PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) { Super::PostEditChangeProperty(PropertyChangedEvent); Settings.Volume = FMath::Clamp<float>( Settings.Volume, 0.0f, 1.0f ); AmbientZoneSettings.InteriorTime = FMath::Max<float>( 0.01f, AmbientZoneSettings.InteriorTime ); AmbientZoneSettings.InteriorLPFTime = FMath::Max<float>( 0.01f, AmbientZoneSettings.InteriorLPFTime ); AmbientZoneSettings.ExteriorTime = FMath::Max<float>( 0.01f, AmbientZoneSettings.ExteriorTime ); AmbientZoneSettings.ExteriorLPFTime = FMath::Max<float>( 0.01f, AmbientZoneSettings.ExteriorLPFTime ); if (PropertyChangedEvent.Property && PropertyChangedEvent.Property->GetFName() == GET_MEMBER_NAME_CHECKED(AAudioVolume, Priority)) { GetWorld()->AudioVolumes.Sort([](const AAudioVolume& A, const AAudioVolume& B) { return (A.GetPriority() > B.GetPriority()); }); } if (PropertyChangedEvent.Property && PropertyChangedEvent.Property->GetFName() == GET_MEMBER_NAME_CHECKED(AAudioVolume, bEnabled)) { if (bEnabled) { AddProxy(); } else { RemoveProxy(); } } else if (bEnabled) { UpdateProxy(); } }
dgCollisionScene::~dgCollisionScene(void) { for (dgList<dgProxy*>::dgListNode* node = m_list.GetFirst(); node; ) { dgList<dgProxy*>::dgListNode* const proxyNode = node; node = node->GetNext(); RemoveProxy(proxyNode); } }
void AAudioVolume::OnRep_bEnabled() { if (bEnabled) { AddProxy(); } else { RemoveProxy(); } }
void AAudioVolume::PostUnregisterAllComponents() { // Route clear to super first. Super::PostUnregisterAllComponents(); GetRootComponent()->TransformUpdated.RemoveAll(this); RemoveProxy(); if (UWorld* World = GetWorld()) { World->AudioVolumes.Remove(this); } }
void AAudioVolume::SetEnabled(const bool bNewEnabled) { if (bNewEnabled != bEnabled) { bEnabled = bNewEnabled; if (bEnabled) { AddProxy(); } else { RemoveProxy(); } } }