6#include "Containers/Array.h"
27#include "MovieSceneEntitySystemGraphs.generated.h"
39 struct FSystemSubsequentTasks;
40 struct FSystemTaskPrerequisites;
43 class FEntitySystemScheduler;
113 template<
typename Iter>
119 Iterator(Nodes.Array[
Edge.ToNode]);
124 template<
typename Allocator>
129 template<
typename Iter>
132 const uint16 ToNode = GetGraphID(ToReference);
136 if (
Edge.ToNode == ToNode)
138 Iterator(Nodes.Array[
Edge.FromNode]);
145 return Nodes.Array.Num() == 0;
150 return ReferenceGraph.HasEdgeTo(GetGraphID(ToReference));
155 return ReferenceGraph.HasEdgeFrom(GetGraphID(
FromReference));
177 template<
typename SystemType>
196 template<
typename ArrayType>
216 uint64 SchedulerSerialNumber = 0;
219 uint32 PreviousSerialNumber = 0;
220 uint32 ReentrancyGuard = 0;
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
Definition UObjectGlobals.h:2492
Definition MovieScene.Build.cs:6
Definition AssetRegistryState.h:50
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition SparseArray.h:524
Definition SubclassOf.h:30
Definition UniquePtr.h:107
Definition MovieSceneEntityManager.h:81
Definition MovieSceneEntitySystemLinker.h:113
Definition MovieSceneEntitySystem.h:62
@ NullAllowed
Definition Object.h:62
ESystemPhase
Definition MovieSceneEntitySystemTypes.h:45
Definition AdvancedWidgetsModule.cpp:13
Definition MovieSceneEntitySystemGraphs.h:52
FMovieSceneEntitySystemGraphNode(UMovieSceneEntitySystem *InSystem)
Definition MovieSceneEntitySystemGraphs.h:59
FMovieSceneEntitySystemGraphNode()
Definition MovieSceneEntitySystemGraphs.h:55
TSharedPtr< UE::MovieScene::FSystemTaskPrerequisites > SubsequentTasks
Definition MovieSceneEntitySystemGraphs.h:64
TSharedPtr< UE::MovieScene::FSystemTaskPrerequisites > Prerequisites
Definition MovieSceneEntitySystemGraphs.h:63
Definition MovieSceneEntitySystemGraphs.h:72
TSparseArray< FMovieSceneEntitySystemGraphNode > Array
Definition MovieSceneEntitySystemGraphs.h:77
Definition MovieSceneEntitySystemGraphs.h:88
bool HasReferencesTo(const UMovieSceneEntitySystem *ToReference) const
Definition MovieSceneEntitySystemGraphs.h:148
bool IsEmpty() const
Definition MovieSceneEntitySystemGraphs.h:143
void IterateReferencesTo(const UMovieSceneEntitySystem *ToReference, Iter &&Iterator)
Definition MovieSceneEntitySystemGraphs.h:130
void IterateReferencesFrom(const UMovieSceneEntitySystem *FromReference, Iter &&Iterator)
Definition MovieSceneEntitySystemGraphs.h:114
SystemType * FindSystemOfType() const
Definition MovieSceneEntitySystemGraphs.h:178
bool HasReferencesFrom(const UMovieSceneEntitySystem *FromReference) const
Definition MovieSceneEntitySystemGraphs.h:153
void GatherReferencesTo(const UMovieSceneEntitySystem *ToReference, TArray< UMovieSceneEntitySystem *, Allocator > &OutReferences)
Definition MovieSceneEntitySystemGraphs.h:125
Definition NumericLimits.h:41
Definition ObjectPtr.h:488
Definition StructOpsTypeTraits.h:11
@ WithAddStructReferencedObjects
Definition StructOpsTypeTraits.h:22
Definition StructOpsTypeTraits.h:46
Definition MovieSceneEntitySystemDirectedGraph.h:27
Definition MovieSceneSystemTaskDependencies.h:98