Space Plunder
Loading...
Searching...
No Matches
UBTTask_Melee Class Reference

#include <BTTask_Melee.h>

Inheritance diagram for UBTTask_Melee:

Classes

struct  FBTTaskMeleeMemory
 

Public Member Functions

 UBTTask_Melee ()
 

Protected Member Functions

virtual EBTNodeResult::Type ExecuteTask (UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory) override
 
virtual EBTNodeResult::Type AbortTask (UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory) override
 
virtual void TickTask (UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory, float DeltaSeconds) override
 
virtual uint16 GetInstanceMemorySize () const override
 
virtual FString GetStaticDescription () const override
 

Constructor & Destructor Documentation

◆ UBTTask_Melee()

UBTTask_Melee::UBTTask_Melee ( )
13{
14 NodeName = TEXT("Melee Attack");
15 INIT_TASK_NODE_NOTIFY_FLAGS();
16}

Member Function Documentation

◆ AbortTask()

EBTNodeResult::Type UBTTask_Melee::AbortTask ( UBehaviorTreeComponent & OwnerComp,
uint8 * NodeMemory )
overrideprotectedvirtual
36{
37 return EBTNodeResult::Aborted;
38}

◆ ExecuteTask()

EBTNodeResult::Type UBTTask_Melee::ExecuteTask ( UBehaviorTreeComponent & OwnerComp,
uint8 * NodeMemory )
overrideprotectedvirtual
19{
20 TRACE_CPUPROFILER_EVENT_SCOPE(UBTTask_Melee::ExecuteTask);
21 SCOPE_CYCLE_COUNTER(STATGROUP_AIToolKit_Behaviors);
22 SCOPE_CYCLE_COUNTER(STATGROUP_AIToolKit_Tasks);
23
24 FBTTaskMeleeMemory* MeleeMemory = reinterpret_cast<FBTTaskMeleeMemory*>(NodeMemory);
25 if(MeleeMemory == nullptr){return EBTNodeResult::Failed;}
26 MeleeMemory->StartTime = GetWorld()->GetTimeSeconds();
27 IAIActionsInterface* AIActions = Cast<IAIActionsInterface>(OwnerComp.GetAIOwner());
28 if(AIActions != nullptr)
29 {
30 MeleeMemory->DelayDuration = AIActions->MeleeAttack();
31 }
32 return EBTNodeResult::InProgress;
33}
Definition AIActionsInterface.h:20
virtual float MeleeAttack()=0
virtual EBTNodeResult::Type ExecuteTask(UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory) override
Definition BTTask_Melee.cpp:18

◆ GetInstanceMemorySize()

uint16 UBTTask_Melee::GetInstanceMemorySize ( ) const
overrideprotectedvirtual
54{
55 return sizeof(FBTTaskMeleeMemory);
56}

◆ GetStaticDescription()

FString UBTTask_Melee::GetStaticDescription ( ) const
overrideprotectedvirtual
59{
60 FString Description;
61 return Description;
62}

◆ TickTask()

void UBTTask_Melee::TickTask ( UBehaviorTreeComponent & OwnerComp,
uint8 * NodeMemory,
float DeltaSeconds )
overrideprotectedvirtual
41{
42 TRACE_CPUPROFILER_EVENT_SCOPE(UBTTask_Melee::TickTask);
43 SCOPE_CYCLE_COUNTER(STATGROUP_AIToolKit_Behaviors);
44 SCOPE_CYCLE_COUNTER(STATGROUP_AIToolKit_Tasks);
45 const FBTTaskMeleeMemory* MeleeMemory = reinterpret_cast<FBTTaskMeleeMemory*>(NodeMemory);
46 if(MeleeMemory == nullptr){FinishLatentTask(OwnerComp, EBTNodeResult::Failed);}
47 if (GetWorld()->GetTimeSeconds() - MeleeMemory->StartTime >= MeleeMemory->DelayDuration)
48 {
49 FinishLatentTask(OwnerComp, EBTNodeResult::Succeeded);
50 }
51}
virtual void TickTask(UBehaviorTreeComponent &OwnerComp, uint8 *NodeMemory, float DeltaSeconds) override
Definition BTTask_Melee.cpp:40

The documentation for this class was generated from the following files: