25#include "BlackboardComponent.generated.h"
163 Tooltip=
"If the vector value has been set (and not cleared), this function returns true (indicating that the value should be valid). If it's not set, the vector value is invalid and this function will return false. (Also returns false if the key specified does not hold a vector.)"))
184 template<
class TDataClass>
187 template<
class TDataClass>
190 template<
class TDataClass>
193 template<
class TDataClass>
196 template<
class TDataClass>
197 typename TDataClass::FDataType
GetValue(
const FName& KeyName)
const;
199 template<
class TDataClass>
210 inline bool IsValidKey(
FBlackboard::FKey KeyID)
const {
check(BlackboardAsset);
return BlackboardAsset->IsValidKey(KeyID); }
236 UPROPERTY(EditDefaultsOnly, Category = AI)
240 UE_DEPRECATED_FORGAME(4.26,
"Directly accessing BlackboardAsset is not longer supported. Use DefaultBlackboardAsset or InitializeBlackboard to set it and GetBlackboardAsset to retrieve it")
264 return DelegateHandle.GetHandle();
315inline bool UBlackboardComponent::HasValidAsset()
const
317 return BlackboardAsset && BlackboardAsset->IsValid();
320template<
class TDataClass>
321bool UBlackboardComponent::IsKeyOfType(
const FName& KeyName)
const
327template<
class TDataClass>
334template<
class TDataClass>
335bool UBlackboardComponent::SetValue(
const FName& KeyName,
typename TDataClass::FDataType
Value)
341template<
class TDataClass>
359 if (BlackboardAsset->HasSynchronizedKeys() && IsKeyInstanceSynced(KeyID))
388template<
class TDataClass>
389typename TDataClass::FDataType UBlackboardComponent::GetValue(
const FName& KeyName)
const
395template<
class TDataClass>
396typename TDataClass::FDataType UBlackboardComponent::GetValue(
FBlackboard::FKey KeyID)
const
401 return TDataClass::InvalidValue;
438template<
typename TBlackboardKey>
443 typedef typename TBlackboardKey::FDataType FStoredType;
444 FStoredType CachedValue;
459 template<
typename T2>
478 inline const FStoredType&
Get()
const
484 template<
typename T2>
488 return (
T2)CachedValue;
#define NULL
Definition oodle2base.h:134
#define check(expr)
Definition AssertionMacros.h:314
#define ensure( InExpression)
Definition AssertionMacros.h:464
#define UE_DEPRECATED_FORGAME
Definition CoreMiscDefines.h:377
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_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition IDelegateInstance.h:14
Definition NameTypes.h:617
Definition UObjectGlobals.h:1292
static COREUOBJECT_API FObjectInitializer & Get()
Definition UObjectGlobals.cpp:5001
Definition Sockets.Build.cs:6
Definition DelegateSignatureImpl.inl:310
Definition SubclassOf.h:30
static UAISystem * GetCurrentSafe(UWorld *World)
Definition AISystem.h:174
AIMODULE_API FBlackboardDataToComponentsIterator CreateBlackboardDataToComponentsIterator(class UBlackboardData &BlackboardAsset)
Definition AISystem.cpp:267
Definition ActorComponent.h:152
virtual ENGINE_API void InitializeComponent()
Definition ActorComponent.cpp:1589
virtual ENGINE_API void UninitializeComponent()
Definition ActorComponent.cpp:1597
Definition BlackboardData.h:46
Definition BlackboardKeyType.h:24
Definition BrainComponent.h:118
IAnalyticsPropertyStore::EStatusCode SetValue(TGetter &&GetterFn, TSetter &&SetterFn, const T &ProposedValue, TCompare &&ConditionFn)
Definition AnalyticsPropertyStore.cpp:34
Type
Definition BlackboardKeyEnums.h:10
Definition BlackboardComponent.h:30
Type
Definition BlackboardComponent.h:32
@ OnlyValue
Definition BlackboardComponent.h:33
@ Full
Definition BlackboardComponent.h:36
@ DetailedKeyWithValue
Definition BlackboardComponent.h:35
@ KeyWithValue
Definition BlackboardComponent.h:34
Category
Definition DiffResults.h:63
Definition BlackboardKey.h:8
constexpr FKey InvalidKey
Definition BlackboardKey.h:33
T::FDataType GetValue(const UBlackboardComponent &Blackboard, const FName &Name, FBlackboard::FKey &InOutCachedKey, const typename T::FDataType &DefaultValue)
Definition ValueOrBBKey.h:51
UTransformableHandle * GetHandle(UObject *InObject, const FName &InSocketName)
Definition TransformConstraint.cpp:65
@ BlueprintCallable
This function can be called from blueprint code and should be exposed to the user of blueprint editin...
Definition ObjectMacros.h:987
Definition BlackboardComponent.h:440
bool SetValue(UBlackboardComponent &BBComponent, const FStoredType InValue)
Definition BlackboardComponent.h:466
FBBKeyCachedAccessor()
Definition BlackboardComponent.h:446
bool IsValid() const
Definition BlackboardComponent.h:491
bool SetValue(UBlackboardComponent &BBComponent, const T2 InValue)
Definition BlackboardComponent.h:460
FBBKeyCachedAccessor(const UBlackboardComponent &BBComponent, FBlackboard::FKey InBBKey)
Definition BlackboardComponent.h:449
T2 Get() const
Definition BlackboardComponent.h:485
const FStoredType & Get() const
Definition BlackboardComponent.h:478
Definition BlackboardData.h:15
TObjectPtr< UBlackboardKeyType > KeyType
Definition BlackboardData.h:31
Definition BlackboardKeyType.h:17
Definition BlackboardKey.h:18
Definition VisualLoggerTypes.h:205
Definition ObjectPtr.h:488