|
| 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) |
| |
template<typename... T>
struct UE::MovieScene::TEntityTaskComponents< T >
Defines the accessors for each desired component of an entity task
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
-
| EntityManager | The entity manager to run the task on. All component types must relate to this entity manager. |
| Prerequisites | Prerequisite tasks that must run before this one |
| Subsequents | (Optional) Subsequent task tracking that this task should be added to for each writable component type |
| InArgs | Optional 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 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
-
| EntityManager | The entity manager to run the task on. All component types must relate to this entity manager. |
| Prerequisites | Prerequisite 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 |
| InArgs | Optional 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