void UBTDecorator_CompareBBEntries::OnCeaseRelevant(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory) { UBlackboardComponent* BlackboardComp = OwnerComp.GetBlackboardComponent(); if (BlackboardComp) { BlackboardComp->UnregisterObserversFrom(this); } }
void UBTDecorator_BlueprintBase::OnCeaseRelevant(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory) { UBlackboardComponent* BlackboardComp = OwnerComp.GetBlackboardComponent(); if (BlackboardComp) { BlackboardComp->UnregisterObserversFrom(this); } if (AIOwner != nullptr && ReceiveObserverDeactivatedImplementations & FBTNodeBPImplementationHelper::AISpecific) { ReceiveObserverDeactivatedAI(AIOwner, AIOwner->GetPawn()); } else if (ReceiveObserverDeactivatedImplementations & FBTNodeBPImplementationHelper::Generic) { ReceiveObserverDeactivated(ActorOwner); } if (GetNeedsTickForConditionChecking() == true && ReceiveTickImplementations == 0) { // clean up the tick request if no longer "active" bNotifyTick = false; } }