UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneComponentRegistry.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
11#include "HAL/Platform.h"
13
14class UScriptStruct;
15
16namespace UE
17{
18namespace MovieScene
19{
20
21template<typename> struct TPropertyComponents;
22
44
46{
47public:
49
50 FComponentRegistry() = default;
51
54
57
58public:
59
69
70
79 template<typename T>
81
85 template<typename T>
87
88 template<typename T>
90 {
91 *Ref = NewComponentType<T>(DebugName, Params);
92 }
93
94 template<typename T>
99
100 template<typename PropertyTraits>
113
115
116public:
117
118
126
127
135
136public:
137
142 {
143 return NonTagComponentMask;
144 }
145
150 {
151 return PreservationMask;
152 }
153
158 {
159 return MigrationMask;
160 }
161
166 {
167 return CopyAndMigrationMask;
168 }
169
170private:
171
172 MOVIESCENE_API FComponentTypeID NewComponentTypeInternal(FComponentTypeInfo&& TypeInfo);
173
174 template<typename T>
175 FComponentTypeInfo MakeComponentTypeInfoWithoutComponentOps(const TCHAR* const DebugName, const FNewComponentTypeParams& Params);
176
177private:
178
180 TSparseArray<UScriptStruct*> ComponentStructs;
181
183 FComponentMask NonTagComponentMask;
184
186 FComponentMask PreservationMask;
187
189 FComponentMask MigrationMask;
190
192 FComponentMask CopyAndMigrationMask;
193};
194
195
196} // namespace MovieScene
197} // namespace UE
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::TCHAR TCHAR
Either ANSICHAR or WIDECHAR, depending on whether the platform supports wide characters or the requir...
Definition Platform.h:1135
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition MovieScene.Build.cs:6
Definition SparseArray.h:524
Definition Class.h:1720
void(*)(FReferenceCollector &, void *, int32) FComponentReferenceCollectionPtr
Definition MovieSceneComponentTypeInfo.h:25
EComponentTypeFlags
Definition MovieSceneEntitySystemTypes.h:70
Definition AdvancedWidgetsModule.cpp:13
Definition MovieSceneEntityIDs.h:40
Definition MovieSceneComponentRegistry.h:46
MOVIESCENE_API void DestroyComponentTypeSafe(FComponentTypeID ComponentTypeID)
const FComponentMask & GetDataComponentTypes() const
Definition MovieSceneComponentRegistry.h:141
const FComponentMask & GetCopyAndMigrationMask() const
Definition MovieSceneComponentRegistry.h:165
const FComponentMask & GetPreservationMask() const
Definition MovieSceneComponentRegistry.h:149
const FComponentMask & GetMigrationMask() const
Definition MovieSceneComponentRegistry.h:157
FComponentRegistry(const FComponentRegistry &)=delete
FComponentRegistry & operator=(const FComponentRegistry &)=delete
TComponentTypeID< T > NewComponentType(const TCHAR *const DebugName, const FNewComponentTypeParams &Params=FNewComponentTypeParams())
Definition MovieSceneEntityFactoryTemplates.h:226
FComponentRegistry(FComponentRegistry &&)=delete
FEntityFactories Factories
Definition MovieSceneComponentRegistry.h:48
void NewPropertyType(TPropertyComponents< PropertyTraits > &OutComponents, const TCHAR *DebugName)
Definition MovieSceneComponentRegistry.h:101
void NewComponentType(TComponentTypeID< T > *Ref, const TCHAR *const DebugName, const FNewComponentTypeParams &Params=FNewComponentTypeParams())
Definition MovieSceneComponentRegistry.h:89
TComponentTypeID< T > NewComponentTypeNoAddReferencedObjects(const TCHAR *const DebugName, const FNewComponentTypeParams &Params=FNewComponentTypeParams())
Definition MovieSceneEntityFactoryTemplates.h:253
MOVIESCENE_API const FComponentTypeInfo & GetComponentTypeChecked(FComponentTypeID ComponentTypeID) const
Definition MovieSceneComponentRegistry.cpp:78
void NewComponentTypeNoAddReferencedObjects(TComponentTypeID< T > *Ref, const TCHAR *const DebugName, const FNewComponentTypeParams &Params=FNewComponentTypeParams())
Definition MovieSceneComponentRegistry.h:95
MOVIESCENE_API FComponentTypeID NewTag(const TCHAR *const DebugName, EComponentTypeFlags Flags=EComponentTypeFlags::None)
Definition MovieSceneComponentRegistry.cpp:12
FComponentRegistry & operator=(FComponentRegistry &&)=delete
MOVIESCENE_API void DestroyComponentUnsafeFast(FComponentTypeID ComponentTypeID)
Definition MovieSceneEntityIDs.h:174
Definition MovieSceneComponentTypeInfo.h:91
Definition MovieSceneEntityFactory.h:40
Definition MovieSceneComponentRegistry.h:24
FNewComponentTypeParams(FComponentReferenceCollectionPtr RefCollectionPtr, EComponentTypeFlags InFlags)
Definition MovieSceneComponentRegistry.h:36
FNewComponentTypeParams()
Definition MovieSceneComponentRegistry.h:25
FNewComponentTypeParams(EComponentTypeFlags InFlags)
Definition MovieSceneComponentRegistry.h:31
EComponentTypeFlags Flags
Definition MovieSceneComponentRegistry.h:42
FComponentReferenceCollectionPtr ReferenceCollectionCallback
Definition MovieSceneComponentRegistry.h:41
Definition MovieSceneEntityIDs.h:283
Definition MovieScenePropertySystemTypes.h:299