UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMovieSceneEntitySystemRunner Class Reference

#include <MovieSceneEntitySystemRunner.h>

+ Inheritance diagram for FMovieSceneEntitySystemRunner:

Public Types

using FEntityManager = UE::MovieScene::FEntityManager
 
using FInstanceHandle = UE::MovieScene::FInstanceHandle
 
using FInstanceRegistry = UE::MovieScene::FInstanceRegistry
 

Public Member Functions

MOVIESCENE_API ~FMovieSceneEntitySystemRunner ()
 
MOVIESCENE_API int32 GetQueuedUpdateCount () const
 
MOVIESCENE_API bool HasQueuedUpdates () const
 
MOVIESCENE_API bool HasQueuedUpdates (FInstanceHandle Instance) const
 
MOVIESCENE_API void QueueUpdate (const FMovieSceneContext &Context, FInstanceHandle Instance, UE::MovieScene::ERunnerUpdateFlags UpdateFlags=UE::MovieScene::ERunnerUpdateFlags::None)
 
MOVIESCENE_API void QueueUpdate (const FMovieSceneContext &Context, FInstanceHandle Instance, FSimpleDelegate &&InOnFlushedDelegate, UE::MovieScene::ERunnerUpdateFlags UpdateFlags=UE::MovieScene::ERunnerUpdateFlags::None)
 
MOVIESCENE_API bool QueueFinalUpdate (FInstanceHandle Instance)
 
MOVIESCENE_API bool QueueFinalUpdate (FInstanceHandle Instance, FSimpleDelegate &&InOnLastFlushDelegate)
 
MOVIESCENE_API bool QueueFinalUpdateAndDestroy (FInstanceHandle Instance)
 
MOVIESCENE_API bool QueueFinalUpdateAndDestroy (FInstanceHandle Instance, FSimpleDelegate &&InOnLastFlushDelegate)
 
MOVIESCENE_API void AbandonAndDestroyInstance (FInstanceHandle Instance)
 
MOVIESCENE_API void AbandonAndDestroyInstance (FInstanceHandle Instance, FSimpleDelegate &&InOnLastFlushDelegate)
 
MOVIESCENE_API void Flush (double BudgetMs=0.f, UE::MovieScene::ERunnerFlushState TargetState=UE::MovieScene::ERunnerFlushState::None)
 
MOVIESCENE_API void FlushOutstanding (double BudgetMs=0.f, UE::MovieScene::ERunnerFlushState TargetState=UE::MovieScene::ERunnerFlushState::None)
 
MOVIESCENE_API void ResetFlushState ()
 
MOVIESCENE_API void DiscardQueuedUpdates (FInstanceHandle Instance)
 
UE::MovieScene::ESystemPhase GetCurrentPhase () const
 
MOVIESCENE_API bool IsCurrentlyEvaluating () const
 
MOVIESCENE_API bool IsUpdatingSequence () const
 
MOVIESCENE_API bool FlushSingleEvaluationPhase ()
 
UMovieSceneEntitySystemLinkerGetLinker () const
 
bool IsValid () const
 
MOVIESCENE_API FEntityManagerGetEntityManager () const
 
MOVIESCENE_API FInstanceRegistryGetInstanceRegistry () const
 
void AttachToLinker (UMovieSceneEntitySystemLinker *InLinker)
 
bool IsAttachedToLinker () const
 
void DetachFromLinker ()
 
void MarkForUpdate (FInstanceHandle InInstanceHandle, UE::MovieScene::ERunnerUpdateFlags UpdateFlags)
 
MOVIESCENE_API FMovieSceneEntitySystemEventTriggersGetQueuedEventTriggers ()
 
 FMovieSceneEntitySystemRunner ()
 
 FMovieSceneEntitySystemRunner (UMovieSceneEntitySystemLinker *InLinker)
 
- Public Member Functions inherited from TSharedFromThis< FMovieSceneEntitySystemRunner >
TSharedRef< FMovieSceneEntitySystemRunner, Mode > AsShared ()
 
TSharedRef< FMovieSceneEntitySystemRunner const, Mode > AsShared () const
 
TSharedRef< SubobjectType, Mode > AsSharedSubobject (SubobjectType *SubobjectPtr) const
 
TWeakPtr< FMovieSceneEntitySystemRunner, Mode > AsWeak ()
 
TWeakPtr< FMovieSceneEntitySystemRunner const, Mode > AsWeak () const
 
TWeakPtr< SubobjectType, Mode > AsWeakSubobject (SubobjectType *SubobjectPtr) const
 
void UpdateWeakReferenceInternal (TSharedPtr< SharedPtrType, SharedPtrMode > const *InSharedPtr, OtherType *InObject) const
 
void UpdateWeakReferenceInternal (TSharedRef< SharedRefType, SharedPtrMode > const *InSharedRef, OtherType *InObject) const
 
UE_FORCEINLINE_HINT bool DoesSharedInstanceExist () const
 

Friends

struct FMovieSceneEntitySystemEvaluationReentrancyWindow
 

Additional Inherited Members

- Protected Member Functions inherited from TSharedFromThis< FMovieSceneEntitySystemRunner >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 
- Static Protected Member Functions inherited from TSharedFromThis< FMovieSceneEntitySystemRunner >
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis (OtherType *ThisPtr)
 
static UE_FORCEINLINE_HINT TSharedRef< OtherType const, Mode > SharedThis (const OtherType *ThisPtr)
 

Member Typedef Documentation

◆ FEntityManager

◆ FInstanceHandle

◆ FInstanceRegistry

Constructor & Destructor Documentation

◆ ~FMovieSceneEntitySystemRunner()

FMovieSceneEntitySystemRunner::~FMovieSceneEntitySystemRunner ( )

Destructor

◆ FMovieSceneEntitySystemRunner() [1/2]

FMovieSceneEntitySystemRunner::FMovieSceneEntitySystemRunner ( )

Creates an unbound runner

◆ FMovieSceneEntitySystemRunner() [2/2]

FMovieSceneEntitySystemRunner::FMovieSceneEntitySystemRunner ( UMovieSceneEntitySystemLinker InLinker)

Create a bound runner

Member Function Documentation

◆ AbandonAndDestroyInstance() [1/2]

void FMovieSceneEntitySystemRunner::AbandonAndDestroyInstance ( FInstanceHandle  Instance)

Abandon the specified instance handle and destroy it immediately. May flush this runner if necessary

◆ AbandonAndDestroyInstance() [2/2]

void FMovieSceneEntitySystemRunner::AbandonAndDestroyInstance ( FInstanceHandle  Instance,
FSimpleDelegate &&  InOnLastFlushDelegate 
)

◆ AttachToLinker()

void FMovieSceneEntitySystemRunner::AttachToLinker ( UMovieSceneEntitySystemLinker InLinker)
inline

◆ DetachFromLinker()

void FMovieSceneEntitySystemRunner::DetachFromLinker ( )
inline

◆ DiscardQueuedUpdates()

void FMovieSceneEntitySystemRunner::DiscardQueuedUpdates ( FInstanceHandle  Instance)

Discard any queued updates for the specified sequence instance.

◆ Flush()

void FMovieSceneEntitySystemRunner::Flush ( double  BudgetMs = 0.f,
UE::MovieScene::ERunnerFlushState  TargetState = UE::MovieScene::ERunnerFlushState::None 
)

Flushes the update queue and applies any outstanding evaluation logic

Parameters
BudgetMsA budget (in milliseconds) to use for evaluation. Evaluation will cease prematurely once this budget is spent and will process the outstanding work on the next call to Flush. A value of 0.0 signifies no budget - the queue will be fully processed without leaving any outstanding work

◆ FlushOutstanding()

void FMovieSceneEntitySystemRunner::FlushOutstanding ( double  BudgetMs = 0.f,
UE::MovieScene::ERunnerFlushState  TargetState = UE::MovieScene::ERunnerFlushState::None 
)

Flushes any outstanding update tasks in the current evaluation scope with a given budget. Only performs work if this runner is part-way through an evaluation

Parameters
BudgetMsA budget (in milliseconds) to use for evaluation. Evaluation will cease prematurely once this budget is spent and will process the outstanding work on the next call to Flush. A value of 0.0 signifies no budget - the queue will be fully processed without leaving any outstanding work
TargetStateThe desired state to reach. The runner will stop flushing as soon as all the states specified in TargetState have been flushed.

◆ FlushSingleEvaluationPhase()

bool FMovieSceneEntitySystemRunner::FlushSingleEvaluationPhase ( )

Run a single evaluation phase

Returns
Whether the phase was run

◆ GetCurrentPhase()

UE::MovieScene::ESystemPhase FMovieSceneEntitySystemRunner::GetCurrentPhase ( ) const
inline

Access this runner's currently executing phase

◆ GetEntityManager()

UE::MovieScene::FEntityManager * FMovieSceneEntitySystemRunner::GetEntityManager ( ) const

◆ GetInstanceRegistry()

UE::MovieScene::FInstanceRegistry * FMovieSceneEntitySystemRunner::GetInstanceRegistry ( ) const

◆ GetLinker()

UMovieSceneEntitySystemLinker * FMovieSceneEntitySystemRunner::GetLinker ( ) const
inline

◆ GetQueuedEventTriggers()

FMovieSceneEntitySystemEventTriggers & FMovieSceneEntitySystemRunner::GetQueuedEventTriggers ( )

◆ GetQueuedUpdateCount()

int32 FMovieSceneEntitySystemRunner::GetQueuedUpdateCount ( ) const

Gets how many instances are in the update queue.

◆ HasQueuedUpdates() [1/2]

bool FMovieSceneEntitySystemRunner::HasQueuedUpdates ( ) const

Returns whether this runner has any outstanding updates.

◆ HasQueuedUpdates() [2/2]

bool FMovieSceneEntitySystemRunner::HasQueuedUpdates ( FInstanceHandle  Instance) const

Returns whether the given instance is queued for any updates.

◆ IsAttachedToLinker()

bool FMovieSceneEntitySystemRunner::IsAttachedToLinker ( ) const
inline

◆ IsCurrentlyEvaluating()

bool FMovieSceneEntitySystemRunner::IsCurrentlyEvaluating ( ) const

Check whether this runner is currently inside an active evaluation loop

◆ IsUpdatingSequence()

bool FMovieSceneEntitySystemRunner::IsUpdatingSequence ( ) const

Check whether this runner is currently updating a sequence

◆ IsValid()

bool FMovieSceneEntitySystemRunner::IsValid ( ) const
inline

◆ MarkForUpdate()

void FMovieSceneEntitySystemRunner::MarkForUpdate ( FInstanceHandle  InInstanceHandle,
UE::MovieScene::ERunnerUpdateFlags  UpdateFlags 
)

◆ QueueFinalUpdate() [1/2]

bool FMovieSceneEntitySystemRunner::QueueFinalUpdate ( FInstanceHandle  Instance)

Queue a final update for the specified instance, optionally destroying it after finishing it

Returns
true if the update requires a flush, or false if it was finished and/or destroyed immediately without requiring a flush

◆ QueueFinalUpdate() [2/2]

bool FMovieSceneEntitySystemRunner::QueueFinalUpdate ( FInstanceHandle  Instance,
FSimpleDelegate &&  InOnLastFlushDelegate 
)

◆ QueueFinalUpdateAndDestroy() [1/2]

bool FMovieSceneEntitySystemRunner::QueueFinalUpdateAndDestroy ( FInstanceHandle  Instance)

◆ QueueFinalUpdateAndDestroy() [2/2]

bool FMovieSceneEntitySystemRunner::QueueFinalUpdateAndDestroy ( FInstanceHandle  Instance,
FSimpleDelegate &&  InOnLastFlushDelegate 
)

◆ QueueUpdate() [1/2]

void FMovieSceneEntitySystemRunner::QueueUpdate ( const FMovieSceneContext Context,
FInstanceHandle  Instance,
FSimpleDelegate &&  InOnFlushedDelegate,
UE::MovieScene::ERunnerUpdateFlags  UpdateFlags = UE::MovieScene::ERunnerUpdateFlags::None 
)

◆ QueueUpdate() [2/2]

void FMovieSceneEntitySystemRunner::QueueUpdate ( const FMovieSceneContext Context,
FInstanceHandle  Instance,
UE::MovieScene::ERunnerUpdateFlags  UpdateFlags = UE::MovieScene::ERunnerUpdateFlags::None 
)

Queue the given instance for an update with the given context.

◆ ResetFlushState()

void FMovieSceneEntitySystemRunner::ResetFlushState ( )

Called in the event that the structure of the entity manager has been unexpectedly changed while this runner is active. This allows the runner to be reset so it runs from the start of its evaluation loop next time it is evaluated, rather than half-way through

Friends And Related Symbol Documentation

◆ FMovieSceneEntitySystemEvaluationReentrancyWindow


The documentation for this class was generated from the following files: