UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AIDataProvider.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 "UObject/Object.h"
10#include "AIDataProvider.generated.h"
11
12class UAIDataProvider;
13
24USTRUCT()
26{
28
29private:
31 mutable FProperty* CachedProperty;
32
33public:
35 UPROPERTY(EditAnywhere, Instanced, Category = Value)
37
39 UPROPERTY(EditAnywhere, Category = Value)
40 FName DataField;
41
43 AIMODULE_API virtual FString ValueToString() const;
44 AIMODULE_API FString ToString() const;
45
47 AIMODULE_API virtual bool IsMatchingType(FProperty* PropType) const;
48
50 AIMODULE_API void GetMatchingProperties(TArray<FName>& MatchingProperties) const;
51
54 T* GetRawValuePtr() const
55 {
56 return CachedProperty ? CachedProperty->ContainerPtrToValuePtr<T>(DataBinding) : nullptr;
57 }
58
60 AIMODULE_API void BindData(const UObject* Owner, int32 RequestId) const;
61
62 inline bool IsDynamic() const { return DataBinding != nullptr; }
63
65 CachedProperty(nullptr),
66 DataBinding(nullptr)
67 {
68 }
69
71};
72
73USTRUCT()
75{
77
79 : PropertyType_DEPRECATED(nullptr)
80 , PropertyType(nullptr)
81 {}
82
84 UPROPERTY()
85 TObjectPtr<UClass> PropertyType_DEPRECATED;
86 FFieldClass* PropertyType;
87
89 AIMODULE_API virtual bool IsMatchingType(FProperty* PropType) const override;
90
93};
94
103
104USTRUCT()
106{
108
109
110 FString StructName;
111
112 AIMODULE_API virtual bool IsMatchingType(FProperty* PropType) const override;
113};
114
115USTRUCT()
117{
120
121 UPROPERTY(EditAnywhere, Category = Value)
122 int32 DefaultValue;
123
124 AIMODULE_API int32 GetValue() const;
125 AIMODULE_API virtual FString ValueToString() const override;
126};
127
128USTRUCT()
130{
133
134 UPROPERTY(EditAnywhere, Category = Value)
135 float DefaultValue;
136
137 AIMODULE_API float GetValue() const;
138 AIMODULE_API virtual FString ValueToString() const override;
139};
140
141USTRUCT()
143{
146
147 UPROPERTY(EditAnywhere, Category = Value)
148 bool DefaultValue;
149
150 AIMODULE_API bool GetValue() const;
151 AIMODULE_API virtual FString ValueToString() const override;
152};
153
154UCLASS(EditInlineNew, Abstract, CollapseCategories, AutoExpandCategories=(Provider), MinimalAPI)
156{
158
159 AIMODULE_API virtual void BindData(const UObject& Owner, int32 RequestId);
160 AIMODULE_API virtual FString ToString(FName PropName) const;
161};
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
Definition Archive.h:1208
Definition Field.h:66
Definition NameTypes.h:617
Definition UnrealType.h:174
UE_FORCEINLINE_HINT ValueType * ContainerPtrToValuePtr(UObject *ContainerPtr, int32 ArrayIndex=0) const
Definition UnrealType.h:799
Definition Array.h:670
Definition AIDataProvider.h:156
Definition Class.h:3793
Definition Object.h:95
Definition AIDataProvider.h:143
Definition AIDataProvider.h:130
Definition AIDataProvider.h:117
Definition AIDataProvider.h:106
Definition AIDataProvider.h:75
Definition AIDataProvider.h:26
FAIDataProviderValue()
Definition AIDataProvider.h:64
bool IsDynamic() const
Definition AIDataProvider.h:62
virtual ~FAIDataProviderValue()
Definition AIDataProvider.h:70
Definition ObjectPtr.h:488
Definition StructOpsTypeTraits.h:11
Definition StructOpsTypeTraits.h:46