UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
BTDecorator_ConeCheck.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "InputCoreTypes.h"
11#include "BTDecorator_ConeCheck.generated.h"
12
13class UBehaviorTree;
14class UBlackboardComponent;
15
20
25UCLASS(MinimalAPI)
27{
29
31
33 UPROPERTY(Category=Decorator, EditAnywhere)
34 FValueOrBBKey_Float ConeHalfAngle;
35
37 UPROPERTY(EditAnywhere, Category=Blackboard)
38 FBlackboardKeySelector ConeOrigin;
39
41 UPROPERTY(EditAnywhere, Category=Blackboard)
42 FBlackboardKeySelector ConeDirection;
43
45 UPROPERTY(EditAnywhere, Category=Blackboard)
47
48 AIMODULE_API virtual void InitializeFromAsset(UBehaviorTree& Asset) override;
49 AIMODULE_API virtual uint16 GetInstanceMemorySize() const override;
50 AIMODULE_API virtual void InitializeMemory(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory, EBTMemoryInit::Type InitType) const override;
51 AIMODULE_API virtual void CleanupMemory(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory, EBTMemoryClear::Type CleanupType) const override;
52 AIMODULE_API virtual void DescribeRuntimeValues(const UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory, EBTDescriptionVerbosity::Type Verbosity, TArray<FString>& Values) const override;
53 AIMODULE_API virtual FString GetStaticDescription() const override;
54
55#if WITH_EDITOR
56 AIMODULE_API virtual FName GetNodeIconName() const override;
57 AIMODULE_API virtual FString GetErrorMessage() const override;
58#endif // WITH_EDITOR
59
60protected:
61 float GetConeHalfAngleDot(const UBehaviorTreeComponent& OwnerComp) const;
62 AIMODULE_API virtual bool CalculateRawConditionValue(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory) const override;
63 AIMODULE_API virtual void OnBecomeRelevant(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory) override;
64 AIMODULE_API void OnBlackboardChange(const UBlackboardComponent& Blackboard, FBlackboard::FKey ChangedKeyID);
65
66 AIMODULE_API virtual void TickNode(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory, float DeltaSeconds) override;
67
68 AIMODULE_API bool CalculateDirection(const UBlackboardComponent* BlackboardComp, const FBlackboardKeySelector& Origin, const FBlackboardKeySelector& End, FVector& Direction) const;
69
70private:
71 bool CalcConditionImpl(UBehaviorTreeComponent& OwnerComp, uint8* NodeMemory) const;
72};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
Definition NameTypes.h:617
Definition Array.h:670
Definition BTDecorator_ConeCheck.h:27
Definition BTDecorator.h:38
Definition BehaviorTreeComponent.h:105
Definition BehaviorTree.h:16
Type
Definition BehaviorTreeTypes.h:217
Type
Definition BehaviorTreeTypes.h:135
Type
Definition BehaviorTreeTypes.h:126
Definition BTDecorator_ConeCheck.h:17
bool bLastRawResult
Definition BTDecorator_ConeCheck.h:18
Definition BehaviorTreeTypes.h:624
Definition BlackboardKey.h:18
Definition ValueOrBBKey.h:246