42 template<
typename... T>
47 template<
typename... T>
54 template<
typename... T>
59 template<
typename... T>
71 template<
typename ...T>
76 template<
typename KeyType>
81 template<
typename ObjectType>
96template<
typename ObjectTraits>
101 using KeyType =
typename ObjectTraits::KeyType;
104 static_assert(ObjectTraits::SupportsGrouping,
"Pre-animated object state storage should support grouping by object");
159 EntityMetaData->
BeginTrackingEntity(Entry, EntityID, RootInstanceHandle, bWantsRestoreState);
164 for (
UObject* BoundObject : BoundObjects)
196 if (Params.bForcePersist)
220 if (Params.bForcePersist)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition MovieScene.Build.cs:6
Definition ArrayView.h:139
Definition ObjectKey.h:228
Definition SharedPointer.h:692
EPreAnimatedStorageRequirement
Definition MovieScenePreAnimatedStateTypes.h:32
EPreAnimatedCaptureSourceTracking
Definition MovieScenePreAnimatedStateStorage.h:45
Definition AdvancedWidgetsModule.cpp:13
U16 Index
Definition radfft.cpp:71
Definition ObjectKey.h:19
Definition MovieScenePreAnimatedObjectStorage.h:30
@ SupportsReplaceObject
Definition MovieScenePreAnimatedObjectStorage.h:31
@ NeedsInitialize
Definition MovieScenePreAnimatedObjectStorage.h:31
@ SupportsGrouping
Definition MovieScenePreAnimatedObjectStorage.h:31
MOVIESCENE_API FPreAnimatedStorageGroupHandle MakeGroupImpl(UObject *BoundObject)
Definition MovieScenePreAnimatedObjectStorage.cpp:27
FPreAnimatedStorageGroupHandle FindGroup(UObject *BoundObject, T &&... Unused)
Definition MovieScenePreAnimatedObjectStorage.h:43
FPreAnimatedStorageGroupHandle MakeGroup(UObject *BoundObject, T &&... Unused)
Definition MovieScenePreAnimatedObjectStorage.h:55
void ReplaceObject(TTuple< FObjectKey, T... > &InOutKey, const FObjectKey &NewObject)
Definition MovieScenePreAnimatedObjectStorage.h:72
FPreAnimatedStorageGroupHandle MakeGroup(const FObjectComponent &BoundObject, T &&... Unused)
Definition MovieScenePreAnimatedObjectStorage.h:60
MOVIESCENE_API FPreAnimatedStorageGroupHandle FindGroupImpl(UObject *BoundObject)
Definition MovieScenePreAnimatedObjectStorage.cpp:17
TSharedPtr< FPreAnimatedObjectGroupManager > ObjectGroupManager
Definition MovieScenePreAnimatedObjectStorage.h:93
void ReplaceObject(TObjectKey< ObjectType > &InOutKey, const FObjectKey &NewObject)
Definition MovieScenePreAnimatedObjectStorage.h:82
void ReplaceObject(FObjectKey &InOutKey, const FObjectKey &NewObject)
Definition MovieScenePreAnimatedObjectStorage.h:89
void ReplaceObject(KeyType &InOutKey, const FObjectKey &NewObject)
Definition MovieScenePreAnimatedObjectStorage.h:77
FPreAnimatedStorageGroupHandle FindGroup(const FObjectComponent &BoundObject, T &&... Unused)
Definition MovieScenePreAnimatedObjectStorage.h:48
T ResolveComponent(T &&In)
Definition MovieScenePreAnimatedObjectStorage.h:36
Definition MovieScenePreAnimatedStateTypes.h:27
Definition MovieSceneEntityIDs.h:302
Definition BuiltInComponentTypes.h:256
Definition MovieScenePreAnimatedCaptureSources.h:115
MOVIESCENE_API void BeginTrackingEntity(const FPreAnimatedStateEntry &Entry, FMovieSceneEntityID EntityID, FRootInstanceHandle RootInstanceHandle, bool bWantsRestoreState)
Definition MovieScenePreAnimatedCaptureSources.cpp:26
Definition MovieScenePreAnimatedStateTypes.h:134
FPreAnimatedStorageIndex StorageIndex
Definition MovieScenePreAnimatedStateTypes.h:139
Definition MovieScenePreAnimatedStateTypes.h:158
FPreAnimatedStateCachedValueHandle ValueHandle
Definition MovieScenePreAnimatedStateTypes.h:162
Definition MovieScenePreAnimatedStateExtension.h:73
bool IsCapturingGlobalState() const
Definition MovieScenePreAnimatedStateExtension.h:205
MOVIESCENE_API FPreAnimatedEntityCaptureSource * GetOrCreateEntityMetaData()
Definition MovieScenePreAnimatedStateExtension.cpp:243
MOVIESCENE_API EPreAnimatedStorageRequirement GetStorageRequirement(const FPreAnimatedStateEntry &Entry) const
Definition MovieScenePreAnimatedStateExtension.cpp:127
Definition MovieScenePreAnimatedStateStorage.h:94
Definition MovieScenePreAnimatedStateTypes.h:86
Definition MovieScenePreAnimatedStorageID.h:14
Definition MovieScenePreAnimatedStateTypes.h:42
Definition MovieScenePreAnimatedStateTypes.h:19
Definition MovieSceneSequenceInstanceHandle.h:58
Definition IMovieScenePreAnimatedStorage.h:52
Definition MovieScenePreAnimatedObjectStorage.h:100
FPreAnimatedStateEntry MakeEntry(UObject *BoundObject)
Definition MovieScenePreAnimatedObjectStorage.h:140
IPreAnimatedObjectEntityStorage * AsObjectStorage() override
Definition MovieScenePreAnimatedObjectStorage.h:111
void CachePreAnimatedValue(const FCachePreAnimatedValueParams &Params, UObject *BoundObject, OnCacheValue &&CacheCallback, EPreAnimatedCaptureSourceTracking TrackingMode=EPreAnimatedCaptureSourceTracking::CacheIfTracked)
Definition MovieScenePreAnimatedObjectStorage.h:203
typename ObjectTraits::StorageType StorageType
Definition MovieScenePreAnimatedObjectStorage.h:102
TPreAnimatedStateStorage_ObjectTraits()
Definition MovieScenePreAnimatedObjectStorage.h:106
void BeginTrackingEntity(FMovieSceneEntityID EntityID, bool bWantsRestoreState, FRootInstanceHandle RootInstanceHandle, UObject *BoundObject) override
Definition MovieScenePreAnimatedObjectStorage.h:149
void CachePreAnimatedValues(const FCachePreAnimatedValueParams &Params, TArrayView< UObject *const > BoundObjects) override
Definition MovieScenePreAnimatedObjectStorage.h:162
void CachePreAnimatedValue(const FCachePreAnimatedValueParams &Params, const FPreAnimatedStateEntry &Entry, UObject *BoundObject)
Definition MovieScenePreAnimatedObjectStorage.h:185
void CachePreAnimatedValue(const FCachePreAnimatedValueParams &Params, UObject *BoundObject, EPreAnimatedCaptureSourceTracking TrackingMode=EPreAnimatedCaptureSourceTracking::CacheIfTracked)
Definition MovieScenePreAnimatedObjectStorage.h:173
void BeginTrackingEntities(const FPreAnimatedTrackerParams &Params, TRead< FMovieSceneEntityID > EntityIDs, TRead< FRootInstanceHandle > InstanceHandles, TRead< UObject * > BoundObjects) override
Definition MovieScenePreAnimatedObjectStorage.h:116
typename ObjectTraits::KeyType KeyType
Definition MovieScenePreAnimatedObjectStorage.h:101
Definition MovieScenePreAnimatedStateStorage.h:143
bool IsStorageRequirementSatisfied(FPreAnimatedStorageIndex StorageIndex, EPreAnimatedStorageRequirement StorageRequirement) const
Definition MovieScenePreAnimatedStateStorage.h:436
FPreAnimatedStorageID StorageID
Definition MovieScenePreAnimatedStateStorage.h:942
FPreAnimatedStateExtension * ParentExtension
Definition MovieScenePreAnimatedStateStorage.h:936
void AssignPreAnimatedValue(FPreAnimatedStorageIndex StorageIndex, EPreAnimatedStorageRequirement StorageRequirement, StorageType &&InNewValue)
Definition MovieScenePreAnimatedStateStorage.h:403
bool ShouldTrackCaptureSource(EPreAnimatedCaptureSourceTracking TrackingMode, KeyArgs &&... InKeyArgs)
Definition MovieScenePreAnimatedStateStorage.h:822
void TrackCaptureSource(const FPreAnimatedStateEntry &Entry, EPreAnimatedCaptureSourceTracking TrackingMode)
Definition MovieScenePreAnimatedStateStorage.h:861
ObjectTraits Traits
Definition MovieScenePreAnimatedStateStorage.h:947
FPreAnimatedStorageIndex GetOrCreateStorageIndex(const KeyType &InKey)
Definition MovieScenePreAnimatedStateStorage.h:376
void ForciblyPersistStorage(FPreAnimatedStorageIndex StorageIndex)
Definition MovieScenePreAnimatedStateStorage.h:510
Definition MovieSceneComponentPtr.h:195