UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneSystemTaskDependencies.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "Containers/Array.h"
10#include "HAL/Platform.h"
11#include "HAL/PlatformCrt.h"
12#include "Stats/Stats.h"
14
15#include <initializer_list>
16
18
20
21namespace UE
22{
23namespace MovieScene
24{
25
26enum class EEntityThreadingModel : uint8;
27
29{
31
34
35 FSystemTaskPrerequisites(std::initializer_list<FGraphEventRef> InEvents)
36 {
38 {
39 Prereqs.Add(FPrerequisite{ Task, FComponentTypeID::Invalid() });
40 AllTasks.Add(Task);
41 }
42 }
43
44 int32 Num() const
45 {
46 return Prereqs.Num();
47 }
48
49 const FGraphEventArray* All() const
50 {
51 if (AllTasks.Num() != Prereqs.Num())
52 {
53 AllTasks.Reset();
54 for (const FPrerequisite& Prereq : Prereqs)
55 {
56 AllTasks.Add(Prereq.GraphEvent);
57 }
58 }
59 return &AllTasks;
60 }
61
63 {
64 FilterByComponent(OutArray, { ComponentType });
65 }
66
67 MOVIESCENE_API void FilterByComponent(FGraphEventArray& OutArray, std::initializer_list<FComponentTypeID> ComponentTypes) const;
68
73
75
77
78 void Empty()
79 {
80 Prereqs.Reset();
81 AllTasks.Reset();
82 }
83
84private:
85
86 struct FPrerequisite
87 {
88 FGraphEventRef GraphEvent;
89 FComponentTypeID ComponentType;
90 };
92 mutable FGraphEventArray AllTasks;
93};
94
95
96
119
120
121} // namespace MovieScene
122} // namespace UE
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
#define DECLARE_CYCLE_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:679
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
Definition MovieScene.Build.cs:6
UE_REWRITE SizeType Num() const
Definition Array.h:1144
void Reset(SizeType NewSize=0)
Definition Array.h:2246
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
Definition SharedPointer.h:692
EEntityThreadingModel
Definition MovieSceneMaybeAtomic.h:17
Definition AdvancedWidgetsModule.cpp:13
Definition MovieSceneEntitySystemGraphs.h:88
Definition MovieSceneEntityIDs.h:174
static FComponentTypeID Invalid()
Definition MovieSceneEntityIDs.h:179
Definition MovieSceneSystemTaskDependencies.h:98
MOVIESCENE_API void AddComponentTask(FComponentTypeID ComponentType, FGraphEventRef ComponentTask)
Definition MovieSceneSystemTaskDependencies.cpp:93
MOVIESCENE_API void AddRootTask(FGraphEventRef RootTask)
Definition MovieSceneSystemTaskDependencies.cpp:72
Definition MovieSceneSystemTaskDependencies.h:29
void Empty()
Definition MovieSceneSystemTaskDependencies.h:78
MOVIESCENE_API void AddComponentTask(FComponentTypeID ComponentType, const FGraphEventRef &InNewTask)
Definition MovieSceneSystemTaskDependencies.cpp:36
FSystemTaskPrerequisites()
Definition MovieSceneSystemTaskDependencies.h:32
void AddRootTask(const FGraphEventRef &InNewTask)
Definition MovieSceneSystemTaskDependencies.h:69
MOVIESCENE_API void Consume(const FSystemTaskPrerequisites &Other)
Definition MovieSceneSystemTaskDependencies.cpp:41
FSystemTaskPrerequisites(std::initializer_list< FGraphEventRef > InEvents)
Definition MovieSceneSystemTaskDependencies.h:35
const FGraphEventArray * All() const
Definition MovieSceneSystemTaskDependencies.h:49
int32 Num() const
Definition MovieSceneSystemTaskDependencies.h:44
void FilterByComponent(FGraphEventArray &OutArray, FComponentTypeID ComponentType) const
Definition MovieSceneSystemTaskDependencies.h:62