20#include "MovieSceneEntitySystemLinker.generated.h"
31 struct FComponentRegistry;
70 template<
typename SystemClass>
150 check(InstanceRegistry.IsValid());
151 return InstanceRegistry.Get();
157 check(InstanceRegistry.IsValid());
158 return InstanceRegistry.Get();
161 template<
typename SystemType>
168 template<
typename SystemType>
174 template<
typename SystemType>
219 virtual UWorld*
GetWorld()
const override {
return WeakWorld.IsValid() ? WeakWorld.Get() : Super::GetWorld(); }
231 template<
typename ExtensionType>
243 template<
typename ExtensionType>
247 if (!ExtensionsByID.IsValidIndex(
Index))
263 template<
typename ExtensionType>
266 AddExtension(ExtensionType::GetExtensionID(),
InExtension);
275 template<
typename ExtensionType>
279 if (ExtensionsByID.IsValidIndex(
Index))
294 template<
typename ExtensionType>
297 const int32 Index = ExtensionType::GetExtensionID().ID;
298 if (ExtensionsByID.IsValidIndex(
Index))
315 if (ExtensionsByID.IsValidIndex(
Index))
317 ExtensionsByID.RemoveAt(
Index);
337 MOVIESCENE_API void InvalidateObjectBinding(
const FGuid& ObjectBindingID, FInstanceHandle InstanceHandle);
396 uint64 LastSystemLinkVersion;
397 uint64 LastSystemUnlinkVersion;
398 uint64 LastInstantiationVersion;
#define check(expr)
Definition AssertionMacros.h:314
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:58
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition MovieSceneEntitySystemRunner.h:74
Definition UObjectGlobals.h:1292
Definition UObjectGlobals.h:2492
Definition MovieScene.Build.cs:6
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition SparseArray.h:524
Definition SubclassOf.h:30
Definition UniquePtr.h:107
Definition SharedPointer.h:1295
Definition MovieSceneEntityManager.h:81
Definition MovieSceneCompiledDataManager.h:181
Definition MovieSceneEntitySystemLinker.h:113
FMovieSceneEntitySystemLinkerEvent AbandonLinker
Definition MovieSceneEntitySystemLinker.h:391
SystemType * FindSystem() const
Definition MovieSceneEntitySystemLinker.h:175
virtual UWorld * GetWorld() const override
Definition MovieSceneEntitySystemLinker.h:219
SystemType * LinkSystemIfAllowed()
Definition MovieSceneEntitySystemLinker.h:169
UE::MovieScene::FSystemFilter & GetSystemFilter()
Definition MovieSceneEntitySystemLinker.h:190
FEntityManager EntityManager
Definition MovieSceneEntitySystemLinker.h:125
FMovieSceneEntitySystemLinkerEvent CleanTaggedGarbage
Definition MovieSceneEntitySystemLinker.h:389
ExtensionType * FindExtension(UE::MovieScene::TEntitySystemLinkerExtensionID< ExtensionType > InID) const
Definition MovieSceneEntitySystemLinker.h:276
void RemoveExtension(UE::MovieScene::FEntitySystemLinkerExtensionID ExtensionID)
Definition MovieSceneEntitySystemLinker.h:312
void AddExtension(ExtensionType *InExtension)
Definition MovieSceneEntitySystemLinker.h:264
FMovieSceneEntitySystemLinkerEvent TagGarbage
Definition MovieSceneEntitySystemLinker.h:388
UE::MovieScene::EAutoLinkRelevantSystems AutoLinkMode
Definition MovieSceneEntitySystemLinker.h:406
FMovieSceneEntitySystemLinkerAROEvent AddReferencedObjects
Definition MovieSceneEntitySystemLinker.h:390
ExtensionType * FindExtension() const
Definition MovieSceneEntitySystemLinker.h:295
SystemType * LinkSystem()
Definition MovieSceneEntitySystemLinker.h:162
FMovieSceneEntitySystemLinkerPostSpawnEvent PostSpawnEvent
Definition MovieSceneEntitySystemLinker.h:387
UE::MovieScene::EEntitySystemLinkerRole GetLinkerRole() const
Definition MovieSceneEntitySystemLinker.h:198
void SetLinkerRole(UE::MovieScene::EEntitySystemLinkerRole InRole)
Definition MovieSceneEntitySystemLinker.h:206
const FInstanceRegistry * GetInstanceRegistry() const
Definition MovieSceneEntitySystemLinker.h:155
void SetWorld(UWorld *InWorld)
Definition MovieSceneEntitySystemLinker.h:224
static MOVIESCENE_API void AddReferencedObjects(UObject *InThis, FReferenceCollector &Collector)
void AddExtension(UE::MovieScene::TEntitySystemLinkerExtensionID< ExtensionType > InID, ExtensionType *InExtension)
Definition MovieSceneEntitySystemLinker.h:244
UE::MovieScene::FSystemFilter SystemFilter
Definition MovieSceneEntitySystemLinker.h:407
UE::MovieScene::EEntitySystemLinkerRole Role
Definition MovieSceneEntitySystemLinker.h:405
static UE::MovieScene::TEntitySystemLinkerExtensionID< ExtensionType > RegisterExtension()
Definition MovieSceneEntitySystemLinker.h:232
Definition MovieSceneEntitySystem.h:62
@ NullAllowed
Definition Object.h:62
EEntitySystemLinkerRole RegisterCustomEntitySystemLinkerRole()
Definition MovieSceneEntitySystemLinker.cpp:43
EAutoLinkRelevantSystems
Definition MovieSceneEntitySystemLinker.h:36
ERunnerFlushState
Definition MovieSceneEntitySystemRunner.h:30
EEntitySystemCategory
Definition MovieSceneEntitySystem.h:33
EEntitySystemLinkerRole
Definition MovieSceneEntitySystemLinker.h:43
Definition AdvancedWidgetsModule.cpp:13
U16 Index
Definition radfft.cpp:71
Definition MovieSceneEntitySystemRunner.cpp:53
Definition MovieSceneEntitySystemGraphs.h:88
Definition ObjectPtr.h:488
Definition WeakObjectPtrTemplates.h:25
Definition MovieSceneComponentRegistry.h:46
Definition MovieSceneEntityIDs.h:174
Definition MovieSceneEntitySystemLinkerExtension.h:14
int32 ID
Definition MovieSceneEntitySystemLinkerExtension.h:15
Definition MovieSceneSequenceInstanceHandle.h:15
Definition MovieSceneInstanceRegistry.h:39
Definition MovieSceneEntityIDs.h:302
Definition MovieSceneSequenceInstanceHandle.h:58
Definition MovieSceneEntitySystemLinker.h:65
MOVIESCENE_API void SetDisallowedCategories(EEntitySystemCategory InCategory)
Definition MovieSceneEntitySystemLinker.cpp:107
MOVIESCENE_API void SetAllowedCategories(EEntitySystemCategory InCategory)
Definition MovieSceneEntitySystemLinker.cpp:97
MOVIESCENE_API void AllowCategory(EEntitySystemCategory InCategory)
Definition MovieSceneEntitySystemLinker.cpp:102
MOVIESCENE_API void DisallowSystem(TSubclassOf< UMovieSceneEntitySystem > InClass)
Definition MovieSceneEntitySystemLinker.cpp:128
MOVIESCENE_API FSystemFilter()
Definition MovieSceneEntitySystemLinker.cpp:53
MOVIESCENE_API void AllowSystem(TSubclassOf< UMovieSceneEntitySystem > InClass)
Definition MovieSceneEntitySystemLinker.cpp:117
MOVIESCENE_API void DisallowCategory(EEntitySystemCategory InCategory)
Definition MovieSceneEntitySystemLinker.cpp:112
bool CheckSystem() const
Definition MovieSceneEntitySystemLinker.h:71
Definition MovieSceneEntityIDs.h:283
Definition MovieSceneEntitySystemLinkerExtension.h:21