Space Plunder
Loading...
Searching...
No Matches
FStateTree_Melee Struct Reference

Represents a state for Reloading behavior. More...

#include <STT_Melee.h>

Inheritance diagram for FStateTree_Melee:

Public Types

using FInstanceDataType = FStateTreeMeleeInstanceData
 

Public Member Functions

 FStateTree_Melee ()=default
 
virtual const UStruct * GetInstanceDataType () const override
 
virtual EStateTreeRunStatus EnterState (FStateTreeExecutionContext &Context, const FStateTreeTransitionResult &Transition) const override
 
virtual EStateTreeRunStatus Tick (FStateTreeExecutionContext &Context, const float DeltaTime) const override
 
virtual void ExitState (FStateTreeExecutionContext &Context, const FStateTreeTransitionResult &Transition) const override
 

Detailed Description

Represents a state for Reloading behavior.

This class inherits from FStateTreeTaskCommonBase.

Member Typedef Documentation

◆ FInstanceDataType

Constructor & Destructor Documentation

◆ FStateTree_Melee()

FStateTree_Melee::FStateTree_Melee ( )
default

Member Function Documentation

◆ EnterState()

EStateTreeRunStatus FStateTree_Melee::EnterState ( FStateTreeExecutionContext & Context,
const FStateTreeTransitionResult & Transition ) const
overridevirtual
11{
12 FInstanceDataType& InstanceData = Context.GetInstanceData(*this);
13 if(Context.GetWorld() == nullptr){return EStateTreeRunStatus::Failed;}
14
15 InstanceData.StartTime = Context.GetWorld()->GetTimeSeconds();
16 const APawn* OwnerPawn = Cast<APawn>(Context.GetOwner());
17 if(OwnerPawn == nullptr || OwnerPawn->GetController() == nullptr){return EStateTreeRunStatus::Failed;}
18
19 IAIActionsInterface* AIActions = Cast<IAIActionsInterface>(OwnerPawn->GetController());
20 if(AIActions != nullptr)
21 {
22 InstanceData.DelayDuration = AIActions->MeleeAttack();
23 }
24 return EStateTreeRunStatus::Running;
25}
Definition AIActionsInterface.h:20
virtual float MeleeAttack()=0
FStateTreeMeleeInstanceData FInstanceDataType
Definition STT_Melee.h:33
float StartTime
Definition STT_Melee.h:17

◆ ExitState()

void FStateTree_Melee::ExitState ( FStateTreeExecutionContext & Context,
const FStateTreeTransitionResult & Transition ) const
overridevirtual
40{
41 FStateTreeTaskCommonBase::ExitState(Context, Transition);
42}

◆ GetInstanceDataType()

virtual const UStruct * FStateTree_Melee::GetInstanceDataType ( ) const
inlineoverridevirtual
34{ return FInstanceDataType::StaticStruct(); }

◆ Tick()

EStateTreeRunStatus FStateTree_Melee::Tick ( FStateTreeExecutionContext & Context,
const float DeltaTime ) const
overridevirtual
28{
29 FInstanceDataType& InstanceData = Context.GetInstanceData(*this);
30 if(Context.GetWorld() == nullptr){return EStateTreeRunStatus::Failed;}
31 if (Context.GetWorld()->GetTimeSeconds() - InstanceData.StartTime >= InstanceData.DelayDuration)
32 {
33 return EStateTreeRunStatus::Succeeded;
34 }
35 return EStateTreeRunStatus::Running;
36}

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