UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::MovieScene::TEntityTaskComponents< T > Struct Template Reference

#include <MovieSceneEntitySystemTask.h>

+ Inheritance diagram for UE::MovieScene::TEntityTaskComponents< T >:

Public Types

using Super = TEntityTaskComponentsImpl< TMakeIntegerSequence< int, sizeof...(T)>, T... >
 

Public Member Functions

TFilteredEntityTask< T... > FilterAll (const FComponentMask &InComponentMask)
 
TFilteredEntityTask< T... > FilterAll (std::initializer_list< FComponentTypeID > InComponentTypes)
 
TFilteredEntityTask< T... > FilterNone (const FComponentMask &InComponentMask)
 
TFilteredEntityTask< T... > FilterNone (std::initializer_list< FComponentTypeID > InComponentTypes)
 
TFilteredEntityTask< T... > FilterAny (const FComponentMask &InComponentMask)
 
TFilteredEntityTask< T... > FilterAny (std::initializer_list< FComponentTypeID > InComponentTypes)
 
TFilteredEntityTask< T... > FilterOut (const FComponentMask &InComponentMask)
 
TFilteredEntityTask< T... > FilterOut (std::initializer_list< FComponentTypeID > InComponentTypes)
 
TFilteredEntityTask< T... > CombineFilter (const FEntityComponentFilter &InFilter)
 
TEntityTaskComponents< T... > & SetDesiredThread (ENamedThreads::Type InDesiredThread)
 
TEntityTaskComponents< T... > & SetStat (TStatId InStatId)
 
TEntityTaskComponents< T... > & SetParams (const FTaskParams &InOtherParams)
 
template<typename TaskImpl , typename... TaskConstructionArgs>
FGraphEventRef Dispatch (FEntityManager *EntityManager, const FSystemTaskPrerequisites &Prerequisites, FSystemSubsequentTasks *Subsequents, TaskConstructionArgs &&... InArgs) const
 
template<typename TaskImpl , typename... TaskConstructionArgs>
FGraphEventRef Dispatch_PerAllocation (FEntityManager *EntityManager, const FSystemTaskPrerequisites &Prerequisites, FSystemSubsequentTasks *Subsequents, TaskConstructionArgs &&... InArgs) const
 
template<typename TaskImpl >
void RunInline_PerAllocation (FEntityManager *EntityManager, TaskImpl &Task) const
 
template<typename TaskImpl , typename... TaskConstructionArgs>
FGraphEventRef Dispatch_PerEntity (FEntityManager *EntityManager, const FSystemTaskPrerequisites &Prerequisites, FSystemSubsequentTasks *Subsequents, TaskConstructionArgs &&... InArgs) const
 
template<typename TaskImpl , typename... TaskConstructionArgs>
FTaskID Fork_PerEntity (FEntityManager *EntityManager, IEntitySystemScheduler *InScheduler, TaskConstructionArgs &&... InArgs) const
 
template<typename TaskImpl , typename... TaskConstructionArgs>
FTaskID Fork_PerAllocation (FEntityManager *EntityManager, IEntitySystemScheduler *InScheduler, TaskConstructionArgs &&... InArgs) const
 
template<typename TaskImpl , typename... TaskConstructionArgs>
FTaskID Schedule_PerEntity (FEntityManager *EntityManager, IEntitySystemScheduler *InScheduler, TaskConstructionArgs &&... InArgs) const
 
template<typename TaskImpl , typename... TaskConstructionArgs>
FTaskID Schedule_PerAllocation (FEntityManager *EntityManager, IEntitySystemScheduler *InScheduler, TaskConstructionArgs &&... InArgs) const
 
template<typename TaskImpl >
void RunInline_PerEntity (FEntityManager *EntityManager, TaskImpl &Task) const
 
 TEntityTaskComponents ()
 
template<typename... ConstructionTypes>
 TEntityTaskComponents (const FCommonEntityTaskParams &InCommonParams, ConstructionTypes &&... InTypes)
 

Detailed Description

template<typename... T>
struct UE::MovieScene::TEntityTaskComponents< T >

Defines the accessors for each desired component of an entity task

Member Typedef Documentation

◆ Super

template<typename... T>
using UE::MovieScene::TEntityTaskComponents< T >::Super = TEntityTaskComponentsImpl<TMakeIntegerSequence<int, sizeof...(T)>, T...>

Constructor & Destructor Documentation

◆ TEntityTaskComponents() [1/2]

template<typename... T>
UE::MovieScene::TEntityTaskComponents< T >::TEntityTaskComponents ( )
inline

◆ TEntityTaskComponents() [2/2]

template<typename... T>
template<typename... ConstructionTypes>
UE::MovieScene::TEntityTaskComponents< T >::TEntityTaskComponents ( const FCommonEntityTaskParams InCommonParams,
ConstructionTypes &&...  InTypes 
)
inlineexplicit

Member Function Documentation

◆ CombineFilter()

template<typename... T>
TFilteredEntityTask< T... > UE::MovieScene::TEntityTaskComponents< T >::CombineFilter ( const FEntityComponentFilter InFilter)
inline

Combine this task's filter with the specified filter

◆ Dispatch()

template<typename... T>
template<typename TaskImpl , typename... TaskConstructionArgs>
FGraphEventRef UE::MovieScene::TEntityTaskComponents< T >::Dispatch ( FEntityManager EntityManager,
const FSystemTaskPrerequisites Prerequisites,
FSystemSubsequentTasks Subsequents,
TaskConstructionArgs &&...  InArgs 
) const
inline

Dispatch a custom task that runs non-structured logic. Tasks must implement a Run function that doesn't take any argument.

Parameters
EntityManagerThe entity manager to run the task on
PrerequisitesPrerequisite tasks that must run before this one, or nullptr if there are no prerequisites
Subsequents(Optional) Subsequent task tracking that this task should be added to for each writable component type
InArgsOptional arguments that are forwarded to the constructor of TaskImpl
Returns
A pointer to the graph event for the task, or nullptr if this task is not valid (ie contains invalid component types that would be necessary for the task to run), or threading is disabled

◆ Dispatch_PerAllocation()

template<typename... T>
template<typename TaskImpl , typename... TaskConstructionArgs>
FGraphEventRef UE::MovieScene::TEntityTaskComponents< T >::Dispatch_PerAllocation ( FEntityManager EntityManager,
const FSystemTaskPrerequisites Prerequisites,
FSystemSubsequentTasks Subsequents,
TaskConstructionArgs &&...  InArgs 
) const
inline

Dispatch a task for every allocation that matches the filters and component types. Must be explicitly instantiated with the task type to dispatch. Construction arguments are deduced. Tasks must implement a ForEachAllocation function that matches this task's component accessor types.

For example: struct FForEachAllocation { void ForEachAllocation(FEntityAllocation* InAllocation, const TFilteredEntityTask< FEntityIDAccess, TRead<FMovieSceneFloatChannel> >& InputTask); };

TComponentTypeID<FMovieSceneFloatChannel> FloatChannelComponent = ...;

FGraphEventRef Task = FEntityTaskBuilder() .ReadEntityIDs() .Read(FloatChannelComponent) .SetStat(GET_STATID(MyStatName)) .SetDesiredThread(ENamedThreads::AnyThread) .Dispatch_PerAllocation<FForEachAllocation>(EntityManager, Prerequisites);

Parameters
EntityManagerThe entity manager to run the task on. All component types must relate to this entity manager.
PrerequisitesPrerequisite tasks that must run before this one
Subsequents(Optional) Subsequent task tracking that this task should be added to for each writable component type
InArgsOptional arguments that are forwarded to the constructor of TaskImpl
Returns
A pointer to the graph event for the task, or nullptr if this task is not valid (ie contains invalid component types that would be necessary for the task to run), or threading is disabled

◆ Dispatch_PerEntity()

template<typename... T>
template<typename TaskImpl , typename... TaskConstructionArgs>
FGraphEventRef UE::MovieScene::TEntityTaskComponents< T >::Dispatch_PerEntity ( FEntityManager EntityManager,
const FSystemTaskPrerequisites Prerequisites,
FSystemSubsequentTasks Subsequents,
TaskConstructionArgs &&...  InArgs 
) const
inline

Dispatch a task for every entity that matches the filters and component types. Must be explicitly instantiated with the task type to dispatch. Construction arguments are deduced. Tasks must implement a ForEachEntity function that matches this task's component accessor types.

For example: struct FForEachEntity { void ForEachEntity(FMovieSceneEntityID InEntityID, const FMovieSceneFloatChannel& Channel); };

TComponentTypeID<FMovieSceneFloatChannel> FloatChannelComponent = ...;

FGraphEventRef Task = FEntityTaskBuilder() .ReadEntityIDs() .Read(FloatChannelComponent) .SetStat(GET_STATID(MyStatName)) .SetDesiredThread(ENamedThreads::AnyThread) .Dispatch_PerEntity<FForEachEntity>(EntityManager, nullptr);

Parameters
EntityManagerThe entity manager to run the task on. All component types must relate to this entity manager.
PrerequisitesPrerequisite tasks that must run before this one, or nullptr if there are no prerequisites
Subsequents(Optional) Subsequent task tracking that this task should be added to for each writable component type
InArgsOptional arguments that are forwarded to the constructor of TaskImpl
Returns
A pointer to the graph event for the task, or nullptr if this task is not valid (ie contains invalid component types that would be necessary for the task to run), or threading is disabled

◆ FilterAll() [1/2]

template<typename... T>
TFilteredEntityTask< T... > UE::MovieScene::TEntityTaskComponents< T >::FilterAll ( const FComponentMask InComponentMask)
inline

Constrain this task to only run for entities that have all the specified components or tags

◆ FilterAll() [2/2]

template<typename... T>
TFilteredEntityTask< T... > UE::MovieScene::TEntityTaskComponents< T >::FilterAll ( std::initializer_list< FComponentTypeID InComponentTypes)
inline

Constrain this task to only run for entities that have all the specified components or tags

◆ FilterAny() [1/2]

template<typename... T>
TFilteredEntityTask< T... > UE::MovieScene::TEntityTaskComponents< T >::FilterAny ( const FComponentMask InComponentMask)
inline

Constrain this task to only run for entities that have at least one of the specified components or tags

◆ FilterAny() [2/2]

template<typename... T>
TFilteredEntityTask< T... > UE::MovieScene::TEntityTaskComponents< T >::FilterAny ( std::initializer_list< FComponentTypeID InComponentTypes)
inline

Constrain this task to only run for entities that have at least one of the specified components or tags

◆ FilterNone() [1/2]

template<typename... T>
TFilteredEntityTask< T... > UE::MovieScene::TEntityTaskComponents< T >::FilterNone ( const FComponentMask InComponentMask)
inline

Constrain this task to only run for entities that have none the specified components or tags

◆ FilterNone() [2/2]

template<typename... T>
TFilteredEntityTask< T... > UE::MovieScene::TEntityTaskComponents< T >::FilterNone ( std::initializer_list< FComponentTypeID InComponentTypes)
inline

Constrain this task to only run for entities that have none the specified components or tags

◆ FilterOut() [1/2]

template<typename... T>
TFilteredEntityTask< T... > UE::MovieScene::TEntityTaskComponents< T >::FilterOut ( const FComponentMask InComponentMask)
inline

Constrain this task to only run for entities that do not have the specific combination of components or tags

◆ FilterOut() [2/2]

template<typename... T>
TFilteredEntityTask< T... > UE::MovieScene::TEntityTaskComponents< T >::FilterOut ( std::initializer_list< FComponentTypeID InComponentTypes)
inline

Constrain this task to only run for entities that do not have the specific combination of components or tags

◆ Fork_PerAllocation()

template<typename... T>
template<typename TaskImpl , typename... TaskConstructionArgs>
FTaskID UE::MovieScene::TEntityTaskComponents< T >::Fork_PerAllocation ( FEntityManager EntityManager,
IEntitySystemScheduler InScheduler,
TaskConstructionArgs &&...  InArgs 
) const
inline

◆ Fork_PerEntity()

template<typename... T>
template<typename TaskImpl , typename... TaskConstructionArgs>
FTaskID UE::MovieScene::TEntityTaskComponents< T >::Fork_PerEntity ( FEntityManager EntityManager,
IEntitySystemScheduler InScheduler,
TaskConstructionArgs &&...  InArgs 
) const
inline

◆ RunInline_PerAllocation()

template<typename... T>
template<typename TaskImpl >
void UE::MovieScene::TEntityTaskComponents< T >::RunInline_PerAllocation ( FEntityManager EntityManager,
TaskImpl Task 
) const
inline

◆ RunInline_PerEntity()

template<typename... T>
template<typename TaskImpl >
void UE::MovieScene::TEntityTaskComponents< T >::RunInline_PerEntity ( FEntityManager EntityManager,
TaskImpl Task 
) const
inline

◆ Schedule_PerAllocation()

template<typename... T>
template<typename TaskImpl , typename... TaskConstructionArgs>
FTaskID UE::MovieScene::TEntityTaskComponents< T >::Schedule_PerAllocation ( FEntityManager EntityManager,
IEntitySystemScheduler InScheduler,
TaskConstructionArgs &&...  InArgs 
) const
inline

◆ Schedule_PerEntity()

template<typename... T>
template<typename TaskImpl , typename... TaskConstructionArgs>
FTaskID UE::MovieScene::TEntityTaskComponents< T >::Schedule_PerEntity ( FEntityManager EntityManager,
IEntitySystemScheduler InScheduler,
TaskConstructionArgs &&...  InArgs 
) const
inline

◆ SetDesiredThread()

template<typename... T>
TEntityTaskComponents< T... > & UE::MovieScene::TEntityTaskComponents< T >::SetDesiredThread ( ENamedThreads::Type  InDesiredThread)
inline

Assign a desired thread for this task to run on

◆ SetParams()

template<typename... T>
TEntityTaskComponents< T... > & UE::MovieScene::TEntityTaskComponents< T >::SetParams ( const FTaskParams InOtherParams)
inline

Assign the scheduled task parameters for this task

◆ SetStat()

template<typename... T>
TEntityTaskComponents< T... > & UE::MovieScene::TEntityTaskComponents< T >::SetStat ( TStatId  InStatId)
inline

Assign a stat ID for this task


The documentation for this struct was generated from the following file: