void UNavLinkCustomComponent::BroadcastStateChange() { TArray<UPathFollowingComponent*> NearbyAgents; CollectNearbyAgents(NearbyAgents); OnBroadcastFilter.ExecuteIfBound(this, NearbyAgents); for (int32 i = 0; i < NearbyAgents.Num(); i++) { // NearbyAgents[i]->OnCustomLinkBroadcast(this); } if (BroadcastInterval > 0.0f) { GetWorld()->GetTimerManager().SetTimer(TimerHandle_BroadcastStateChange, this, &UNavLinkCustomComponent::BroadcastStateChange, BroadcastInterval); } }
void USmartNavLinkComponent::BroadcastStateChange() { TArray<UNavigationComponent*> NearbyAgents; CollectNearbyAgents(NearbyAgents); OnBroadcastFilter.ExecuteIfBound(this, NearbyAgents); for (int32 i = 0; i < NearbyAgents.Num(); i++) { NearbyAgents[i]->OnSmartLinkBroadcast(this); } if (BroadcastInterval > 0.0f) { GetWorld()->GetTimerManager().SetTimer(this, &USmartNavLinkComponent::BroadcastStateChange, BroadcastInterval); } }