Files
UnrealEngineUWP/Engine/Plugins/Runtime/StateTree/Source/StateTreeModule/Public/StateTreeEvaluatorBase.h
henrik karlsson 9a1d5b1ad4 [Engine/Plugins]
* Ran IWYU on ~170 plugins to remove includes not needed. Public api still keep old includes inside #if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2

#preflight 63d09351574ab9cae4670216
#rb none

[CL 23844750 by henrik karlsson in ue5-main branch]
2023-01-25 02:42:36 -05:00

52 lines
1.5 KiB
C

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "StateTreeNodeBase.h"
#include "StateTreeEvaluatorBase.generated.h"
struct FStateTreeExecutionContext;
/**
* Base struct of StateTree Evaluators.
* Evaluators calculate and expose data to be used for decision making in a StateTree.
*/
USTRUCT(meta = (Hidden))
struct STATETREEMODULE_API FStateTreeEvaluatorBase : public FStateTreeNodeBase
{
GENERATED_BODY()
/**
* Called when StateTree is started.
* @param Context Reference to current execution context.
*/
virtual void TreeStart(FStateTreeExecutionContext& Context) const {}
/**
* Called when StateTree is stopped.
* @param Context Reference to current execution context.
*/
virtual void TreeStop(FStateTreeExecutionContext& Context) const {}
/**
* Called each frame to update the evaluator.
* @param Context Reference to current execution context.
* @param DeltaTime Time since last StateTree tick, or 0 if called during preselection.
*/
virtual void Tick(FStateTreeExecutionContext& Context, const float DeltaTime) const {}
#if WITH_GAMEPLAY_DEBUGGER
virtual void AppendDebugInfoString(FString& DebugString, const FStateTreeExecutionContext& Context) const;
#endif // WITH_GAMEPLAY_DEBUGGER
};
/**
* Base class (namespace) for all common Evaluators that are generally applicable.
* This allows schemas to safely include all Evaluators child of this struct.
*/
USTRUCT(Meta=(Hidden))
struct STATETREEMODULE_API FStateTreeEvaluatorCommonBase : public FStateTreeEvaluatorBase
{
GENERATED_BODY()
};