5#include "Containers/Array.h"
7#include "Containers/Map.h"
28struct FInstanceRegistry;
31template<
typename ParentComponentType,
typename ChildComponentType>
60template<
typename ParentComponentType,
typename ChildComponentType,
typename InitializerType>
85template<
typename ComponentType>
111template<
typename ComponentType>
156 struct FEntityMutationData
174template<
typename ComponentType>
180template<
typename ComponentType>
186template<
typename ParentComponent,
typename ChildComponent,
typename InitializerCallback>
201 static const uint32 Alignment =
alignof(T);
209 NewTypeInfo.bIsTriviallyDestructable = std::is_trivially_destructible_v<T>;
216#if UE_MOVIESCENE_ENTITY_DEBUG
232 if (Params.ReferenceCollectionCallback)
234 NewTypeInfo.MakeComplexComponentOps<T>(Params.ReferenceCollectionCallback);
260 NewTypeInfo.MakeComplexComponentOpsNoAddReferencedObjects<T>();
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
constexpr bool EnumHasAnyFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:35
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition MovieScene.Build.cs:6
Definition ArrayView.h:139
constexpr TArrayView Slice(SizeType Index, SizeType InNum) const
Definition ArrayView.h:426
Definition UnrealString.h.inl:34
Definition SortedMap.h:20
Definition MovieSceneEntitySystemLinker.h:113
UObject *(*)(UObject *) FBoundObjectResolver
Definition BuiltInComponentTypes.h:361
Definition AdvancedWidgetsModule.cpp:13
U16 Index
Definition radfft.cpp:71
Definition IsTriviallyCopyAssignable.h:13
Definition UnrealTypeTraits.h:172
Definition NumericLimits.h:41
Definition MovieSceneEntityFactoryTemplates.h:145
void Apply()
Definition MovieSceneEntityFactory.cpp:157
void ForEachAllocation(FEntityAllocationProxy AllocationProxy, FReadEntityIDs EntityIDs, TRead< FInstanceHandle > Instances, TRead< FGuid > ObjectBindings, TReadOptional< FBoundObjectResolver > Resolvers)
Definition MovieSceneEntityFactory.cpp:169
UMovieSceneEntitySystemLinker * Linker
Definition MovieSceneEntityFactoryTemplates.h:170
void PostTask()
Definition MovieSceneEntityFactory.cpp:269
Definition MovieSceneEntityFactoryTypes.h:22
Definition MovieSceneEntityFactoryTypes.h:53
virtual bool IsRelevant(const FComponentMask &InParentType, const FComponentMask &InChildType) const
Definition MovieSceneEntityFactoryTypes.h:56
FComponentTypeID ChildComponent
Definition MovieSceneEntityFactoryTypes.h:79
FComponentTypeID ParentComponent
Definition MovieSceneEntityFactoryTypes.h:79
Definition MovieSceneEntityIDs.h:40
TComponentTypeID< T > NewComponentType(const TCHAR *const DebugName, const FNewComponentTypeParams &Params=FNewComponentTypeParams())
Definition MovieSceneEntityFactoryTemplates.h:226
FEntityFactories Factories
Definition MovieSceneComponentRegistry.h:48
TComponentTypeID< T > NewComponentTypeNoAddReferencedObjects(const TCHAR *const DebugName, const FNewComponentTypeParams &Params=FNewComponentTypeParams())
Definition MovieSceneEntityFactoryTemplates.h:253
Definition MovieSceneEntityIDs.h:174
TComponentTypeID< T > ReinterpretCast() const
Definition MovieSceneEntityIDs.h:501
Definition MovieSceneComponentTypeInfo.h:91
uint8 Sizeof
Definition MovieSceneComponentTypeInfo.h:111
uint8 Alignment
Definition MovieSceneComponentTypeInfo.h:113
Definition MovieSceneEntitySystemTypes.h:977
static FEntityAllocationWriteContext NewAllocation()
Definition MovieSceneEntitySystemTypes.h:428
Definition MovieSceneEntitySystemTypes.h:624
TComponentLock< TRead< T > > ReadComponents(TComponentTypeID< T > ComponentType) const
Definition MovieSceneEntitySystemTypes.h:877
TComponentLock< TWrite< T > > WriteComponents(TComponentTypeID< T > ComponentType, FEntityAllocationWriteContext InWriteContext) const
Definition MovieSceneEntitySystemTypes.h:900
void DefineChildComponent(FComponentTypeID InChildComponent)
Definition MovieSceneEntityFactory.h:44
void DuplicateChildComponent(TComponentTypeID< ComponentType > InComponent)
Definition MovieSceneEntityFactoryTemplates.h:175
void ConditionallyDuplicateChildComponent(TComponentTypeID< ComponentType > InComponent, FComponentMask InParentComponentMask)
Definition MovieSceneEntityFactoryTemplates.h:181
Definition MovieSceneEntitySystemTypes.h:1046
Definition MovieSceneEntityIDs.h:302
Definition MovieSceneComponentRegistry.h:24
Definition MovieSceneEntityFactoryTemplates.h:128
virtual void GenerateDerivedType(FComponentMask &OutNewEntityType) override
Definition MovieSceneEntityFactory.cpp:102
virtual void PostInitialize(UMovieSceneEntitySystemLinker *InLinker) override
Definition MovieSceneEntityFactory.cpp:143
virtual void InitializeAllocation(UMovieSceneEntitySystemLinker *Linker, const FComponentMask &ParentType, const FComponentMask &ChildType, const FEntityAllocation *ParentAllocation, TArrayView< const int32 > ParentAllocationOffsets, const FEntityRange &InChildEntityRange) override
Definition MovieSceneEntityFactory.cpp:107
TMap< TTuple< UObject *, FMovieSceneEntityID >, FMovieSceneEntityID > * StaleEntitiesToPreserve
Definition MovieSceneEntityFactoryTemplates.h:137
Definition MovieSceneEntityFactoryTemplates.h:33
TComponentTypeID< ChildComponentType > GetChildComponent() const
Definition MovieSceneEntityFactoryTemplates.h:43
TComponentLock< TWrite< ChildComponentType > > GetChildComponents(const FEntityAllocation *Allocation) const
Definition MovieSceneEntityFactoryTemplates.h:53
TComponentLock< TRead< ParentComponentType > > GetParentComponents(const FEntityAllocation *Allocation) const
Definition MovieSceneEntityFactoryTemplates.h:48
TComponentTypeID< ParentComponentType > GetParentComponent() const
Definition MovieSceneEntityFactoryTemplates.h:38
TChildEntityInitializer(TComponentTypeID< ParentComponentType > InParentComponent, TComponentTypeID< ChildComponentType > InChildComponent)
Definition MovieSceneEntityFactoryTemplates.h:34
Definition MovieSceneComponentPtr.h:109
Definition MovieSceneEntityIDs.h:283
Definition MovieSceneEntityFactoryTemplates.h:113
TConditionalDuplicateChildEntityInitializer(TComponentTypeID< ComponentType > InComponent, FComponentMask InParentComponentMask)
Definition MovieSceneEntityFactoryTemplates.h:114
FComponentMask ParentComponentMask
Definition MovieSceneEntityFactoryTemplates.h:124
virtual bool IsRelevant(const FComponentMask &InParentType, const FComponentMask &InChildType) const override
Definition MovieSceneEntityFactoryTemplates.h:119
Definition MovieSceneEntityFactoryTemplates.h:87
virtual void Run(const FEntityRange &ChildRange, const FEntityAllocation *ParentAllocation, TArrayView< const int32 > ParentAllocationOffsets)
Definition MovieSceneEntityFactoryTemplates.h:97
TDuplicateChildEntityInitializer(TComponentTypeID< ComponentType > InComponent)
Definition MovieSceneEntityFactoryTemplates.h:88
TComponentTypeID< ComponentType > GetComponent() const
Definition MovieSceneEntityFactoryTemplates.h:92
Definition MovieSceneComponentTypeInfo.h:67
Definition MovieSceneComponentPtr.h:208
Definition MovieSceneComponentPtr.h:195
Definition MovieSceneEntityFactoryTemplates.h:62
InitializerType Callback
Definition MovieSceneEntityFactoryTemplates.h:63
TStaticChildEntityInitializer(TComponentTypeID< ParentComponentType > InParentComponent, TComponentTypeID< ChildComponentType > InChildComponent, InitializerType InCallback)
Definition MovieSceneEntityFactoryTemplates.h:65
virtual void Run(const FEntityRange &ChildRange, const FEntityAllocation *ParentAllocation, TArrayView< const int32 > ParentAllocationOffsets)
Definition MovieSceneEntityFactoryTemplates.h:70