19{
21 SCOPE_CYCLE_COUNTER(STATGROUP_AIToolKit_Behaviors);
22 SCOPE_CYCLE_COUNTER(STATGROUP_AIToolKit_Tasks);
23
25 bool bCharacterOutOfAmmo = false;
26 bool bCharacterNeedsToReload = false;
27 if(AIActions != nullptr)
28 {
29 bCharacterOutOfAmmo = AIActions->
CheckAmmo(bCharacterNeedsToReload);
30 }
31 UBlackboardComponent* BlackboardComp = OwnerComp.GetBlackboardComponent();
32 if(BlackboardComp != nullptr)
33 {
34 BlackboardComp->SetValueAsBool(
bOutOfAmmo.SelectedKeyName, bCharacterOutOfAmmo);
35 BlackboardComp->SetValueAsBool(
bNeedToReload.SelectedKeyName, bCharacterNeedsToReload);
36
37 }
38 return EBTNodeResult::Succeeded;
39}
Definition AIActionsInterface.h:20
virtual bool CheckAmmo(bool &bNeedToReload) const =0
FBlackboardKeySelector bNeedToReload
Definition BTTask_CheckAmmo.h:23
FBlackboardKeySelector bOutOfAmmo
Definition BTTask_CheckAmmo.h:21
virtual EBTNodeResult::Type ExecuteTask(UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory) override
Definition BTTask_CheckAmmo.cpp:18