void UCarlaSettingsDelegate::SetActorComponentsDrawDistance(AActor* actor, const float max_draw_distance) const
{
   if(!actor) return;
   TArray<UActorComponent*> components = actor->GetComponentsByClass(UPrimitiveComponent::StaticClass());
   float dist = max_draw_distance;
   const float maxscale = actor->GetActorScale().GetMax();
   if(maxscale>_MAX_SCALE_SIZE)  dist *= 100.0f;
   for(int32 j=0; j<components.Num(); j++)
   {
    UPrimitiveComponent* primitivecomponent = Cast<UPrimitiveComponent>(components[j]);
    if(IsValid(primitivecomponent))
    {
      primitivecomponent->SetCullDistance(dist);
	  primitivecomponent->bAllowCullDistanceVolume = dist>0;
    }
   }
}