| TSharedFromThis
|
Module |
|
Header |
/Engine/Source/Runtime/MovieScene/Public/Evaluation/PreAnimatedState/MovieScenePreAnimatedStateExtension.h |
Include |
#include "Evaluation/PreAnimatedState/MovieScenePreAnimatedStateExtension.h" |
struct FPreAnimatedStateExtension : public UE::MovieScene::TSharedEntitySystemLinkerExtension< FPreAnimatedStateExtension >
Pre-animated state extension that houses all cached values for objects animated by a specific UMovieSceneEntitySystemLinker- The presence of this extension denotes that pre-animated state should be stored in one form or another. If the extension is not present, this implies that there are no IMovieScenePlayers that need global Restore State, and no tracks set to 'Restore State'. FPreAnimatedStateExtension::NumRequestsForGlobalState defines whether this extension needs to cache any and all changes or not
Each specific 'type' of pre-animated state is defined by a unique StorageID (TPreAnimatedStorageID), registered through RegisterStorage
Pre-animated state is grouped into buckets in order to preserve significant ordering constraints (for instance, each object must restore state in the reverse order it was cached)
Groups are managed by registered IPreAnimatedStateGroupManager instances. The main implementation is FPreAnimatedObjectGroupManager, which maintains an object to group mapping
Name | Description | ||
---|---|---|---|
|
NumRequestsForGlobalState |
The number of requests that have been made to capture global state - only one should exist per playing sequence |
Name | Description | |
---|---|---|
|
FPreAnimatedStateExtension |
|
|
FPreAnimatedStateExtension ( |
Name | Description | |
---|---|---|
|
~FPreAnimatedStateExtension() |
Name | Description | ||
---|---|---|---|
|
AddMetaData ( |
||
|
AddStorage ( |
Add a specific storage type to this extension |
|
|
AddWeakCaptureSource |
||
|
FPreAnimated... |
AllocateGroup |
Called by group managers to allocate a new group |
|
AreEntriesInvalidated() |
Check whether any previously cached entries may have become invalid due to a recent call to RestoreGlobalState If this function returns true, clients should consider re-saving pre-animated state even if it already did so |
|
|
ContainsAnyStateForInstanceHandle ( |
Search for any captured state that originated from the specified root instance handle WARNING: This is a linear search across all state, and so is potentially very slow |
|
|
DiscardStateForGroup ( |
Discard any and all cached values for the specified group without restoring them. |
|
|
DiscardTransientState() |
Discard any transient state and all meta-data for any currently animating objects, whilst preserving the cached values internally. |
|
|
EnsureMetaData ( |
||
|
TSharedPtr< ... |
FindGroupManager() |
Find a group manager by its type. |
|
TSharedPtr< ... |
FindStorage ( |
Find a specific storage type by its ID. |
|
FreeGroup ( |
Called by group managers to free an existing group |
|
|
FPreAnimated... |
GetEntityMetaData() |
|
|
TEntitySyste... |
GetExtensionID() |
Get this extension's application-wide ID for identification within UMovieSceneEntitySystemLinker |
|
FPreAnimated... |
GetOrCreateEntityMetaData() |
|
|
TSharedPtr< ... |
GetOrCreateGroupManager() |
Get or create a group manager by its type. |
|
TSharedPtr< ... |
GetOrCreateStorage ( |
Get a specific type of storage, creating it if it does not already exist |
|
TSharedPtr< ... |
GetOrCreateStorage() |
Get a specific type of storage, creating it if it does not already exist @note The template type must have a static StorageID of type TPreAnimatedStorageID |
|
FPreAnimated... |
GetOrCreateTrackInstanceMetaData() |
|
|
TSharedPtr< ... |
GetStorageChecked ( |
Get a genericly typed storage entry by its erased ID, failing an assertion if it does not exist |
|
EPreAnimated... |
GetStorageRequirement ( |
|
|
FPreAnimated... |
GetTrackInstanceMetaData() |
|
|
IsCapturingGlobalState() |
Check if this extension has any current requests to capture global (persistent) state entries |
|
|
TPreAnimated... |
RegisterStorage() |
Called from TAutoRegisterPreAnimatedStorageID to register a new application-wide storage type |
|
RemoveMetaData ( |
||
|
RemoveWeakCaptureSource |
||
|
ReplaceObjectForGroup ( |
Called during blueprint re-instancing to replace the object bound to a specific group handle with another. |
|
|
ResetEntryInvalidation() |
Resets the entry invalidation flag |
|
|
RestoreGlobalState ( |
Restore any state for any persistent tokens captured during the course of evaluation |
|
|
RestoreStateForGroup ( |
Restore any state cached for the specified group GroupHandle Handle to the group to restore |
|
|
UpdateMetaData ( |
Name | Description | ||
---|---|---|---|
|
FPreAnimated... |
operator= ( |