void USmartNavLinkComponent::SetDisabledArea(TSubclassOf<class UNavArea> AreaClass) { DisabledAreaClass = AreaClass; if (IsNavigationRelevant() && !bLinkEnabled) { UNavigationSystem* NavSys = GetWorld()->GetNavigationSystem(); NavSys->UpdateSmartLink(this); } }
void USmartNavLinkComponent::SetEnabled(bool bNewEnabled) { if (bLinkEnabled != bNewEnabled) { bLinkEnabled = bNewEnabled; UNavigationSystem* NavSys = UNavigationSystem::GetCurrent(GetWorld()); if (NavSys) { NavSys->UpdateSmartLink(this); } if (GetWorld()) { GetWorld()->GetTimerManager().ClearTimer(this, &USmartNavLinkComponent::BroadcastStateChange); if ((bLinkEnabled && bNotifyWhenEnabled) || (!bLinkEnabled && bNotifyWhenDisabled)) { BroadcastStateChange(); } } } }