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

Represents a state for Reloading behavior. More...

#include <STT_Reload.h>

Inheritance diagram for FStateTree_Reload:

Public Types

using FInstanceDataType = FStateTreeReloadInstanceData
 

Public Member Functions

 FStateTree_Reload ()=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_Reload()

FStateTree_Reload::FStateTree_Reload ( )
default

Member Function Documentation

◆ EnterState()

EStateTreeRunStatus FStateTree_Reload::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->Reload();
23 }
24 return EStateTreeRunStatus::Running;
25}
Definition AIActionsInterface.h:20
virtual float Reload()=0
FStateTreeReloadInstanceData FInstanceDataType
Definition STT_Reload.h:33
float StartTime
Definition STT_Reload.h:17

◆ ExitState()

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

◆ GetInstanceDataType()

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

◆ Tick()

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

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