62 UE_DEPRECATED(5.4,
"This function is no longer used, the system will initialize built-in and user-defined types at the appropriate times")
68 template<
typename AttributeType,
typename OperatorType,
typename...
OperatorArgs>
74 AttributeTypes::RegisteredTypes.Add(ScriptStruct);
79 AttributeTypes::InterpolatableTypes.Add(ScriptStruct);
84 template<
typename AttributeType>
90 AttributeTypes::RegisteredTypes.Add(ScriptStruct);
103 AttributeTypes::InterpolatableTypes.Add(ScriptStruct);
111 template<
typename AttributeType>
117 const int32 Index = AttributeTypes::RegisteredTypes.IndexOfByKey(ScriptStruct);
120 AttributeTypes::RegisteredTypes.RemoveAtSwap(
Index);
121 AttributeTypes::Operators.RemoveAtSwap(
Index);
132 return AttributeTypes::Operators[
Index].Get();
138 return AttributeTypes::InterpolatableTypes.Contains(
WeakStruct);
144 return AttributeTypes::RegisteredTypes.Contains(ScriptStruct);
150 return AttributeTypes::RegisteredTypes;
153 friend class ::UAnimationSettings;
EAdditiveAnimationType
Definition AnimTypes.h:575
#define ensure( InExpression)
Definition AssertionMacros.h:464
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
@ 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
bool UObjectInitialized()
Definition UObjectBase.cpp:59
UE_FORCEINLINE_HINT TUniquePtr< T > MakeUnique(TArgs &&... Args)
Definition UniquePtr.h:918
float Val(const FString &Value)
Definition UnrealMath.cpp:3163
Definition AnimationSettings.h:32
Definition IAttributeBlendOperator.h:16
Definition AttributeBlendOperator.h:21
int
Definition TestServer.py:515
Definition AdvancedWidgetsModule.cpp:13
U16 Index
Definition radfft.cpp:71
Definition WeakObjectPtrTemplates.h:25
Definition AttributeTypes.h:46
static const IAttributeBlendOperator * GetTypeOperator(TWeakObjectPtr< const UScriptStruct > WeakStruct)
Definition AttributeTypes.h:127
static void LazyInitialize()
Definition AttributeTypes.h:63
static void RegisterType()
Definition AttributeTypes.h:85
static ENGINE_API TArray< TUniquePtr< IAttributeBlendOperator > > Operators
Definition AttributeTypes.h:51
DECLARE_MULTICAST_DELEGATE_TwoParams(FOnAttributeTypesChanged, const UScriptStruct *, bool)
static void RegisterTypeWithOperator(OperatorArgs &&... args)
Definition AttributeTypes.h:69
static ENGINE_API TArray< TWeakObjectPtr< const UScriptStruct > > RegisteredTypes
Definition AttributeTypes.h:50
static ENGINE_API TArray< TWeakObjectPtr< const UScriptStruct > > InterpolatableTypes
Definition AttributeTypes.h:52
static TArray< TWeakObjectPtr< const UScriptStruct > > & GetRegisteredTypes()
Definition AttributeTypes.h:148
static bool CanInterpolateType(TWeakObjectPtr< const UScriptStruct > WeakStruct)
Definition AttributeTypes.h:136
static ENGINE_API FOnAttributeTypesChanged OnAttributeTypesChangedDelegate
Definition AttributeTypes.h:53
static void UnregisterType()
Definition AttributeTypes.h:112
static FOnAttributeTypesChanged & GetOnAttributeTypesChanged()
Definition AttributeTypes.h:65
static bool IsTypeRegistered(const UScriptStruct *ScriptStruct)
Definition AttributeTypes.h:142
static ENGINE_API bool RegisterNonBlendableType(const UScriptStruct *InScriptStruct)
Definition AttributeTypes.cpp:51
Definition AttributeTypes.h:26
auto Requires(T &Val) -> decltype(Val.Multiply(.5f), Val.Accumulate(Val, 1.f,(EAdditiveAnimationType) 0), Val.MakeAdditive(Val), Val.Interpolate(Val, 0.5f))
Definition AttributeTypes.h:38
auto Requires(T &Val) -> decltype(Val.Normalize())
Definition AttributeTypes.cpp:21
Definition AttributeTraits.h:30