6#include "Containers/Map.h"
78 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
81 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
84 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
89 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
105 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
111 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
117 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
133 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
185 template<
typename T,
typename StringType UE_REQUIRES(TIsWeightedType<T>::Value && TIsStringAndNameConvertibleType<StringType>::Value)>
192 template<
typename T,
typename StringType UE_REQUIRES(TIsWeightedType<T>::Value && TIsStringAndNameConvertibleType<StringType>::Value)>
199 template<
typename T,
typename StringType UE_REQUIRES(TIsWeightedType<T>::Value && TIsStringAndNameConvertibleType<StringType>::Value)>
206 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
213 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
220 template<
typename T,
typename StringType UE_REQUIRES(TIsWeightedType<T>::Value && TIsStringAndNameConvertibleType<StringType>::Value)>
227 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
234 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
241 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
248 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
255 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
262 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
269 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
276 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
283 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
315 template<
typename CallableType,
typename ReturnType>
326 template<
typename CallableType,
typename ReturnType,
typename StringKeyType UE_REQUIRES(TIsStringAndNameConvertibleType<StringKeyType>::Value)>
333 template<
typename T,
typename ElementType>
336 template <
typename T>
391 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
394 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
397 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
402 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
421 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
424 return SafeSet(Key, [
this, &
Value](
int32 KeyIndex) { SetLowValue(KeyIndex,
Value); });
427 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
430 return SafeSet(Key, [
this, &
Value](
int32 KeyIndex) { SetHighValue(KeyIndex,
Value); });
433 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
441 return SafeSet(Key, [
this, &
Value](
int32 KeyIndex) { SetWeightedFloatValue(KeyIndex,
Value); });
444 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
447 return SafeSet(Key, [
this, &
Value](
int32 KeyIndex) { SetValue(KeyIndex,
Value); });
452 return SafeSet(Key, [
this, &
Value](
int32 KeyIndex) { SetStringValue(KeyIndex,
Value); });
457 return SafeSet(Key, [
this,
Flags](
int32 KeyIndex) { SetFlags(KeyIndex,
Flags); });
462 return SafeSet(Key, [
this, bEnabled](
int32 KeyIndex) { SetEnabled(KeyIndex, bEnabled); });
478 return SafeSet(Key, [
this](
int32 KeyIndex) { SetIntrinsic(KeyIndex); });
483 return SafeSet(Key, [
this](
int32 KeyIndex) { SetDirty(KeyIndex); });
488 return SafeSet(Key, [
this](
int32 KeyIndex) { SetStringDirty(KeyIndex); });
493 return SafeSet(Key, [
this](
int32 KeyIndex) { SetInterpolable(KeyIndex); });
497 template<
typename T,
typename StringType UE_REQUIRES(TIsWeightedType<T>::Value && TIsStringAndNameConvertibleType<StringType>::Value)>
504 template<
typename T,
typename StringType UE_REQUIRES(TIsWeightedType<T>::Value && TIsStringAndNameConvertibleType<StringType>::Value)>
511 template<
typename T,
typename StringType UE_REQUIRES(TIsWeightedType<T>::Value && TIsStringAndNameConvertibleType<StringType>::Value)>
518 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
522 return SafeSet(
FName(Key), [
this, &
Value](
int32 KeyIndex) { SetWeightedFloatValue(KeyIndex,
Value); });
525 template<
typename T,
typename StringType UE_REQUIRES(TIsWeightedType<T>::Value && TIsStringAndNameConvertibleType<StringType>::Value)>
532 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
534 int32 SetStringValue(const StringType Key, const FString&
Value)
536 return SafeSet(
FName(Key), [
this, &
Value](
int32 KeyIndex) { SetStringValue(KeyIndex,
Value); });
539 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
546 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
548 int32 SetEnabled(const StringType Key,
bool bEnabled)
550 return SafeSet(
FName(Key), [
this, bEnabled](
int32 KeyIndex) { SetEnabled(KeyIndex, bEnabled); });
553 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
560 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
568 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
570 int32 SetIntrinsic(const StringType Key)
572 return SafeSet(
FName(Key), [
this](
int32 KeyIndex) { SetIntrinsic(KeyIndex); });
575 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
577 int32 SetDirty(const StringType Key)
579 return SafeSet(
FName(Key), [
this](
int32 KeyIndex) { SetDirty(KeyIndex); });
582 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
584 int32 SetStringDirty(const StringType Key)
586 return SafeSet(
FName(Key), [
this](
int32 KeyIndex) { SetStringDirty(KeyIndex); });
589 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
591 int32 SetInterpolable(const StringType Key)
593 return SafeSet(
FName(Key), [
this](
int32 KeyIndex) { SetInterpolable(KeyIndex); });
620 template<
typename CallableType,
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
624 return SafeSet(
FName(Key), Callable);
627 template<
typename CallableType>
678 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
687 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
696 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
702 for (
const StringType& Key :
InKeys)
706 return AddProperties(Keys,
Flags);
711 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
717 for (
const StringType& Key :
InKeys)
749 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
751 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
757 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
759 template<
typename T UE_REQUIRES(TIsWeightedType<T>::Value)>
766 template<
typename T,
typename StringType UE_REQUIRES(TIsWeightedType<T>::Value&& TIsStringAndNameConvertibleType<StringType>::Value)>
773 template<
typename T,
typename StringType UE_REQUIRES(TIsWeightedType<T>::Value&& TIsStringAndNameConvertibleType<StringType>::Value)>
780 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
787 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
794 template<
typename T,
typename StringType UE_REQUIRES(TIsWeightedType<T>::Value&& TIsStringAndNameConvertibleType<StringType>::Value)>
801 template<
typename T,
typename StringType UE_REQUIRES(TIsWeightedType<T>::Value&& TIsStringAndNameConvertibleType<StringType>::Value)>
808 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
815 template<
typename StringType UE_REQUIRES(TIsStringAndNameConvertibleType<StringType>::Value)>
828 if (ValueArray[KeyIndex] !=
Value)
830 ValueArray[KeyIndex] =
Value;
835 template<
typename T UE_REQUIRES_DEFINITION(TIsWeightedType<T>::Value)>
838 const int32 KeyIndex = AddProperty(Key,
Flags);
843 template<
typename T UE_REQUIRES_DEFINITION(TIsWeightedType<T>::Value)>
853#define UE_CHAOS_DECLARE_INDEXLESS_PROPERTYCOLLECTION_NAME(PropertyName, Type) \
854 inline static const FName PropertyName##Name = TEXT(#PropertyName); \
855 static bool Is##PropertyName##Enabled(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection, bool bDefault) \
857 return InPropertyCollection.IsEnabled(PropertyName##Name, bDefault); \
859 static bool Is##PropertyName##Animatable(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection, bool bDefault) \
861 return InPropertyCollection.IsAnimatable(PropertyName##Name, bDefault); \
863 static Type GetLow##PropertyName(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection, const Type& Default) \
865 return InPropertyCollection.GetLowValue<Type>(PropertyName##Name, Default); \
867 static Type GetHigh##PropertyName(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection, const Type& Default) \
869 return InPropertyCollection.GetHighValue<Type>(PropertyName##Name, Default); \
871 static TPair<Type, Type> GetWeighted##PropertyName(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection, const Type& Default) \
873 return InPropertyCollection.GetWeightedValue<Type>(PropertyName##Name, Default); \
875 static FVector2f GetWeightedFloat##PropertyName(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection, const float& Default) \
877 return InPropertyCollection.GetWeightedFloatValue(PropertyName##Name, Default); \
879 static FVector2f GetWeightedFloat##PropertyName(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection, const FVector2f& Default) \
881 return InPropertyCollection.GetWeightedFloatValue(PropertyName##Name, Default); \
883 static Type Get##PropertyName(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection, const Type& Default) \
885 return InPropertyCollection.GetValue<Type>(PropertyName##Name, Default); \
887 static FString Get##PropertyName##String(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection, const FString& Default) \
889 return InPropertyCollection.GetStringValue(PropertyName##Name, Default); \
893#define UE_CHAOS_DECLARE_INDEXED_PROPERTYCOLLECTION_NAME(PropertyName, Type) \
894 Type GetLow##PropertyName(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection) const \
896 checkSlow(PropertyName##Index == InPropertyCollection.GetKeyNameIndex(PropertyName##Name)); \
897 checkf(PropertyName##Index != INDEX_NONE, TEXT("The default value getter that sets the property index must be called once prior to calling this function.")); \
898 return InPropertyCollection.GetLowValue<Type>(PropertyName##Index); \
900 Type GetHigh##PropertyName(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection) const \
902 checkSlow(PropertyName##Index == InPropertyCollection.GetKeyNameIndex(PropertyName##Name)); \
903 checkf(PropertyName##Index != INDEX_NONE, TEXT("The default value getter that sets the property index must be called once prior to calling this function.")); \
904 return InPropertyCollection.GetHighValue<Type>(PropertyName##Index); \
906 TPair<Type, Type> GetWeighted##PropertyName(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection) const \
908 checkSlow(PropertyName##Index == InPropertyCollection.GetKeyNameIndex(PropertyName##Name)); \
909 checkf(PropertyName##Index != INDEX_NONE, TEXT("The default value getter that sets the property index must be called once prior to calling this function.")); \
910 return InPropertyCollection.GetWeightedValue<Type>(PropertyName##Index); \
912 FVector2f GetWeightedFloat##PropertyName(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection) const \
914 checkSlow(PropertyName##Index == InPropertyCollection.GetKeyNameIndex(PropertyName##Name)); \
915 checkf(PropertyName##Index != INDEX_NONE, TEXT("The default value getter that sets the property index must be called once prior to calling this function.")); \
916 return InPropertyCollection.GetWeightedFloatValue(PropertyName##Index); \
918 Type Get##PropertyName(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection) const \
920 checkSlow(PropertyName##Index == InPropertyCollection.GetKeyNameIndex(PropertyName##Name)); \
921 checkf(PropertyName##Index != INDEX_NONE, TEXT("The default value getter that sets the property index must be called once prior to calling this function.")); \
922 return InPropertyCollection.GetValue<Type>(PropertyName##Index); \
924 const FString& Get##PropertyName##String(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection) \
926 checkSlow(PropertyName##Index == InPropertyCollection.GetKeyNameIndex(PropertyName##Name)); \
927 checkf(PropertyName##Index != INDEX_NONE, TEXT("The default value getter that sets the property index must be called once prior to calling this function.")); \
928 return InPropertyCollection.GetStringValue(PropertyName##Index); \
930 bool Is##PropertyName##Enabled(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection) const \
932 checkSlow(PropertyName##Index == InPropertyCollection.GetKeyNameIndex(PropertyName##Name)); \
933 checkf(PropertyName##Index != INDEX_NONE, TEXT("The default value getter that sets the property index must be called once prior to calling this function.")); \
934 return InPropertyCollection.IsEnabled(PropertyName##Index); \
936 bool Is##PropertyName##Animatable(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection) const\
938 checkSlow(PropertyName##Index == InPropertyCollection.GetKeyNameIndex(PropertyName##Name)); \
939 checkf(PropertyName##Index != INDEX_NONE, TEXT("The default value getter that sets the property index must be called once prior to calling this function.")); \
940 return InPropertyCollection.IsAnimatable(PropertyName##Index); \
942 bool Is##PropertyName##Dirty(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection) const \
944 checkSlow(PropertyName##Index == InPropertyCollection.GetKeyNameIndex(PropertyName##Name)); \
945 checkf(PropertyName##Index != INDEX_NONE, TEXT("The default value getter that sets the property index must be called once prior to calling this function.")); \
946 return InPropertyCollection.IsDirty(PropertyName##Index); \
948 bool Is##PropertyName##StringDirty(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection) const \
950 checkSlow(PropertyName##Index == InPropertyCollection.GetKeyNameIndex(PropertyName##Name)); \
951 checkf(PropertyName##Index != INDEX_NONE, TEXT("The default value getter that sets the property index must be called once prior to calling this function.")); \
952 return InPropertyCollection.IsStringDirty(PropertyName##Index); \
954 bool Is##PropertyName##Mutable(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection) const \
956 return PropertyName##Index != INDEX_NONE && \
957 InPropertyCollection.IsAnimatable(PropertyName##Index) && (InPropertyCollection.IsDirty(PropertyName##Index)); \
959 struct F##PropertyName##Index \
961 int32 Index = INDEX_NONE; \
962 explicit F##PropertyName##Index(EForceInit) : Index(INDEX_NONE) {} \
963 explicit F##PropertyName##Index(const ::Chaos::Softs::FCollectionPropertyConstFacade& InPropertyCollection) : Index(InPropertyCollection.GetKeyNameIndex(PropertyName##Name)) {} \
964 operator int32() const { return Index; } \
965 } PropertyName##Index;
969#define UE_CHAOS_DECLARE_PROPERTYCOLLECTION_NAME(PropertyName, Type) \
970 UE_CHAOS_DECLARE_INDEXLESS_PROPERTYCOLLECTION_NAME(PropertyName, Type) \
971 UE_CHAOS_DECLARE_INDEXED_PROPERTYCOLLECTION_NAME(PropertyName, Type) \
ENoInit
Definition CoreMiscDefines.h:158
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
constexpr bool EnumHasAnyFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:35
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
UE::Math::TVector2< float > FVector2f
Definition MathFwd.h:74
UE::Math::TVector< float > FVector3f
Definition MathFwd.h:73
const bool
Definition NetworkReplayStreaming.h:178
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
constexpr TTuple< std::decay_t< Types >... > MakeTuple(Types &&... Args)
Definition Tuple.h:794
uint32 GetArrayHash(const T *Ptr, uint64 Size, uint32 PreviousHash=0)
Definition TypeHash.h:200
Definition CollectionPropertyFacade.h:49
TPair< T, T > GetWeightedValue(const FName &Key, const T &Default=T(0), int32 *OutKeyIndex=nullptr) const
Definition CollectionPropertyFacade.h:118
bool IsLegacy(int32 KeyIndex) const
Definition CollectionPropertyFacade.h:98
CHAOS_API TConstArrayView< T > GetArray(const FName &Name) const
friend::uint32 GetTypeHash(const Chaos::Softs::FCollectionPropertyConstFacade &PropertyFacade)
Definition CollectionPropertyFacade.h:290
virtual CHAOS_API ~FCollectionPropertyConstFacade()
T GetHighValue(const FName &Key, const T &Default=T(0), int32 *OutKeyIndex=nullptr) const
Definition CollectionPropertyFacade.h:112
T GetLowValue(int32 KeyIndex) const
Definition CollectionPropertyFacade.h:79
bool IsInterpolable(int32 KeyIndex) const
Definition CollectionPropertyFacade.h:102
static CHAOS_API const FName KeyNameName
Definition CollectionPropertyFacade.h:343
T GetValue(int32 KeyIndex) const
Definition CollectionPropertyFacade.h:90
bool IsEnabled(const FName &Key, bool bDefault=false, int32 *OutKeyIndex=nullptr) const
Definition CollectionPropertyFacade.h:149
FCollectionPropertyConstFacade & operator=(const FCollectionPropertyConstFacade &)=delete
FCollectionPropertyConstFacade()=delete
CHAOS_API void RebuildKeyIndices()
Definition CollectionPropertyFacade.cpp:57
bool IsIntrinsic(int32 KeyIndex) const
Definition CollectionPropertyFacade.h:99
static CHAOS_API const FName HighValueName
Definition CollectionPropertyFacade.h:345
TConstArrayView< uint8 > FlagsArray
Definition CollectionPropertyFacade.h:354
TConstArrayView< FString > KeyArray
Definition CollectionPropertyFacade.h:365
bool IsDirty(int32 KeyIndex) const
Definition CollectionPropertyFacade.h:101
TConstArrayView< FVector3f > LowValueArray
Definition CollectionPropertyFacade.h:351
TPair< T, T > GetWeightedValue(int32 KeyIndex) const
Definition CollectionPropertyFacade.h:85
FVector2f GetWeightedFloatValue(int32 KeyIndex) const
Definition CollectionPropertyFacade.h:87
bool IsEnabled(int32 KeyIndex) const
Definition CollectionPropertyFacade.h:96
TMap< FString, int32 > KeyIndices
Definition CollectionPropertyFacade.h:367
TConstArrayView< FVector3f > HighValueArray
Definition CollectionPropertyFacade.h:352
bool IsIntrinsic(const FName &Key, bool bDefault=false, int32 *OutKeyIndex=nullptr) const
Definition CollectionPropertyFacade.h:164
bool IsStringDirty(int32 KeyIndex) const
Definition CollectionPropertyFacade.h:100
int32 GetKeyNameIndex(const FName &Key) const
Definition CollectionPropertyFacade.h:68
bool IsAnimatable(int32 KeyIndex) const
Definition CollectionPropertyFacade.h:97
const FString & GetStringValue(int32 KeyIndex) const
Definition CollectionPropertyFacade.h:92
bool IsStringDirty(const FName &Key, bool bDefault=false, int32 *OutKeyIndex=nullptr) const
Definition CollectionPropertyFacade.h:169
bool IsDirty(const FName &Key, bool bDefault=false, int32 *OutKeyIndex=nullptr) const
Definition CollectionPropertyFacade.h:174
FCollectionPropertyConstFacade(const FCollectionPropertyConstFacade &)=delete
static CHAOS_API const FName FlagsName
Definition CollectionPropertyFacade.h:347
static CHAOS_API const FName LowValueName
Definition CollectionPropertyFacade.h:344
ECollectionPropertyFlags GetFlags(const FName &Key, uint8 Default=0, int32 *OutKeyIndex=nullptr) const
Definition CollectionPropertyFacade.h:144
TSharedPtr< const FManagedArrayCollection > ManagedArrayCollection
Definition CollectionPropertyFacade.h:360
T GetValue(const FName &Key, const T &Default=T(0), int32 *OutKeyIndex=nullptr) const
Definition CollectionPropertyFacade.h:134
int32 Num() const
Definition CollectionPropertyFacade.h:65
FString GetKey(int32 KeyIndex) const
Definition CollectionPropertyFacade.h:76
TConstArrayView< FName > KeyNameArray
Definition CollectionPropertyFacade.h:350
CHAOS_API T GetValue(int32 KeyIndex, const TConstArrayView< ElementType > &ValueArray) const
TMap< FName, int32 > KeyNameIndices
Definition CollectionPropertyFacade.h:357
static CHAOS_API const FName StringValueName
Definition CollectionPropertyFacade.h:346
bool IsInterpolable(const FName &Key, bool bDefault=false, int32 *OutKeyIndex=nullptr) const
Definition CollectionPropertyFacade.h:179
FCollectionPropertyConstFacade & operator=(FCollectionPropertyConstFacade &&)=default
static CHAOS_API const FName KeyName
Definition CollectionPropertyFacade.h:363
FString GetStringValue(const FName &Key, const FString &Default="", int32 *OutKeyIndex=nullptr) const
Definition CollectionPropertyFacade.h:139
FVector2f GetWeightedFloatValue(const FName &Key, const float &Default=0.f, int32 *OutKeyIndex=nullptr) const
Definition CollectionPropertyFacade.h:123
T GetHighValue(int32 KeyIndex) const
Definition CollectionPropertyFacade.h:82
FCollectionPropertyConstFacade(FCollectionPropertyConstFacade &&)=default
bool HasAnyFlags(int32 KeyIndex, ECollectionPropertyFlags Flags) const
Definition CollectionPropertyFacade.h:339
T GetLowValue(const FName &Key, const T &Default=T(0), int32 *OutKeyIndex=nullptr) const
Definition CollectionPropertyFacade.h:106
CHAOS_API bool IsValid() const
Definition CollectionPropertyFacade.cpp:38
static CHAOS_API const FName PropertyGroup
Definition CollectionPropertyFacade.h:342
int32 GetKeyIndex(const FString &Key) const
Definition CollectionPropertyFacade.h:70
bool IsLegacy(const FName &Key, bool bDefault=false, int32 *OutKeyIndex=nullptr) const
Definition CollectionPropertyFacade.h:159
FVector2f GetWeightedFloatValue(const FName &Key, const FVector2f &Default, int32 *OutKeyIndex=nullptr) const
Definition CollectionPropertyFacade.h:128
TConstArrayView< FString > StringValueArray
Definition CollectionPropertyFacade.h:353
CHAOS_API void UpdateArrays()
Definition CollectionPropertyFacade.cpp:48
ReturnType SafeGet(const FName &Key, CallableType &&Callable, ReturnType Default, int32 *OutKeyIndex) const
Definition CollectionPropertyFacade.h:316
bool IsAnimatable(const FName &Key, bool bDefault=false, int32 *OutKeyIndex=nullptr) const
Definition CollectionPropertyFacade.h:154
const FName & GetKeyName(int32 KeyIndex) const
Definition CollectionPropertyFacade.h:74
ECollectionPropertyFlags GetFlags(int32 KeyIndex) const
Definition CollectionPropertyFacade.h:94
Definition CollectionPropertyFacade.h:378
int32 SetDirty(const FName &Key)
Definition CollectionPropertyFacade.h:481
const TArrayView< ECollectionPropertyFlags > & GetFlagsArray()
Definition CollectionPropertyFacade.h:609
void SetWeightedValue(int32 KeyIndex, const T &LowValue, const T &HighValue)
Definition CollectionPropertyFacade.h:398
int32 SetFlags(const FName &Key, ECollectionPropertyFlags Flags)
Definition CollectionPropertyFacade.h:455
int32 SetIntrinsic(const FName &Key)
Definition CollectionPropertyFacade.h:476
FCollectionPropertyFacade(FCollectionPropertyFacade &&)=default
int32 SetWeightedValue(const FName &Key, const T &LowValue, const T &HighValue)
Definition CollectionPropertyFacade.h:434
void SetWeightedFloatValue(int32 KeyIndex, const FVector2f &Value)
Definition CollectionPropertyFacade.h:400
void SetLowValue(int32 KeyIndex, const T &Value)
Definition CollectionPropertyFacade.h:392
FCollectionPropertyFacade()=delete
int32 SetHighValue(const FName &Key, const T &Value)
Definition CollectionPropertyFacade.h:428
int32 SetValue(const FName &Key, const T &Value)
Definition CollectionPropertyFacade.h:445
void SetAnimatable(int32 KeyIndex, bool bAnimatable)
Definition CollectionPropertyFacade.h:411
void SetDirty(int32 KeyIndex)
Definition CollectionPropertyFacade.h:416
const TArrayView< FString > & GetStringValueArray()
Definition CollectionPropertyFacade.h:608
void SetEnabled(int32 KeyIndex, bool bEnabled)
Definition CollectionPropertyFacade.h:410
void SetStringDirty(int32 KeyIndex)
Definition CollectionPropertyFacade.h:417
const TArrayView< FVector3f > & GetHighValueArray()
Definition CollectionPropertyFacade.h:607
int32 SetAnimatable(const FName &Key, bool bAnimatable)
Definition CollectionPropertyFacade.h:465
void SetLegacy(int32 KeyIndex, bool bLegacy)
Definition CollectionPropertyFacade.h:412
FCollectionPropertyFacade(const FCollectionPropertyFacade &)=delete
int32 SetStringValue(const FName &Key, const FString &Value)
Definition CollectionPropertyFacade.h:450
const TArrayView< FName > & GetKeyNameArray()
Definition CollectionPropertyFacade.h:605
FCollectionPropertyFacade & operator=(FCollectionPropertyFacade &&)=default
int32 SetLowValue(const FName &Key, const T &Value)
Definition CollectionPropertyFacade.h:422
FCollectionPropertyFacade & operator=(const FCollectionPropertyFacade &)=delete
void SetIntrinsic(int32 KeyIndex)
Definition CollectionPropertyFacade.h:415
const TArrayView< FVector3f > & GetLowValueArray()
Definition CollectionPropertyFacade.h:606
void SetInterpolable(int32 KeyIndex)
Definition CollectionPropertyFacade.h:418
TSharedPtr< FManagedArrayCollection > GetManagedArrayCollection()
Definition CollectionPropertyFacade.h:604
void SetValue(int32 KeyIndex, const T &Value)
Definition CollectionPropertyFacade.h:403
int32 SetEnabled(const FName &Key, bool bEnabled)
Definition CollectionPropertyFacade.h:460
void SetHighValue(int32 KeyIndex, const T &Value)
Definition CollectionPropertyFacade.h:395
int32 SetWeightedFloatValue(const FName &Key, const FVector2f &Value)
Definition CollectionPropertyFacade.h:439
int32 SetStringDirty(const FName &Key)
Definition CollectionPropertyFacade.h:486
virtual ~FCollectionPropertyFacade()=default
void SetStringValue(int32 KeyIndex, const FString &Value)
Definition CollectionPropertyFacade.h:405
int32 SetInterpolable(const FName &Key)
Definition CollectionPropertyFacade.h:491
int32 SetLegacy(const FName &Key, bool bLegacy)
Definition CollectionPropertyFacade.h:470
Definition CollectionPropertyFacade.h:661
FCollectionPropertyMutableFacade & operator=(FCollectionPropertyMutableFacade &&)=default
int32 AddWeightedValue(const FName &Key, const T &LowValue, const T &HighValue, ECollectionPropertyFlags Flags=ECollectionPropertyFlags::Enabled)
Definition CollectionPropertyFacade.h:836
FCollectionPropertyMutableFacade()=delete
virtual ~FCollectionPropertyMutableFacade()=default
int32 AddValue(const FName &Key, const T &Value, ECollectionPropertyFlags Flags=ECollectionPropertyFlags::Enabled)
Definition CollectionPropertyFacade.h:758
int32 AddValue(const FName &Key, const T &Value, bool bEnabled, bool bAnimatable=false)
Definition CollectionPropertyFacade.h:760
FCollectionPropertyMutableFacade(const FCollectionPropertyMutableFacade &)=delete
FCollectionPropertyMutableFacade(FCollectionPropertyMutableFacade &&)=default
FCollectionPropertyMutableFacade & operator=(const FCollectionPropertyMutableFacade &)=delete
Definition SoftsSolverCollisionParticles.h:10
Definition Archive.h:1208
Definition NameTypes.h:617
Definition ArrayView.h:139
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_FORCEINLINE_HINT SizeType Emplace(ArgsType &&... Args)
Definition Array.h:2561
UE_FORCEINLINE_HINT void Reserve(SizeType Number)
Definition Array.h:3016
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
UpdateFlags
Definition DetourCrowd.h:208
IAnalyticsPropertyStore::EStatusCode SetValue(TGetter &&GetterFn, TSetter &&SetterFn, const T &ProposedValue, TCompare &&ConditionFn)
Definition AnalyticsPropertyStore.cpp:34
Definition CollectionEmbeddedSpringConstraintFacade.cpp:6
ECollectionPropertyUpdateFlags
Definition CollectionPropertyFacade.h:646
@ UpdateExistingProperties
@ DisableMissingProperties
@ RemoveMissingProperties
ECollectionPropertyFlags
Definition CollectionPropertyFacade.h:15
@ Update
Definition PendingSpatialData.h:19
@ Default
Definition SpatialAccelerationCollection.h:21
@ false
Definition radaudio_common.h:23
U16 Index
Definition radfft.cpp:71
Definition CollectionPropertyFacade.h:36
static constexpr bool Value
Definition CollectionPropertyFacade.h:36
Definition CollectionPropertyFacade.h:29
static constexpr bool Value
Definition CollectionPropertyFacade.h:29
Definition ManagedArrayCollection.h:56