12#define UE_API MASSENTITY_API
21 struct FEntityBuilderHelper;
145 template<
typename T,
typename...
TArgs>
153 template<
typename T,
typename...
TArgs>
167 template<CChunkFragment T>
174 template<
typename T,
typename...
TArgs>
202 template<UE::Mass::CRelation T>
254 template<
typename TInstancedStruct>
263 template<
typename TInstancedStruct>
280 template<CFragment T>
286 template<CSharedFragment T>
292 CachedSharedFragmentValues.
Reset();
293 return SharedFragments;
296 template<CConstSharedFragment T>
299 CachedSharedFragmentValues.
Reset();
300 return ConstSharedFragments;
304 auto& GetBitSetBuilder()
310 void ConditionallyReleaseEntityHandle();
312 void CacheEntityHandle()
const;
322 enum class EState :
uint8
329 EState State = EState::Empty;
336 template<
typename...
TArgs>
355 State = EState::ReadyToCommit;
360template<CChunkFragment T>
364 State = EState::ReadyToCommit;
369template<
typename T,
typename...
TArgs>
376template<
typename T,
typename...
TArgs>
381 State = EState::ReadyToCommit;
395template<
typename T,
typename...
TArgs>
400 State = EState::ReadyToCommit;
438template<UE::Mass::CRelation T>
446 return State != EState::Invalid;
451 return State != EState::Committed && EntityHandle.
IsValid();
456 return State == EState::Committed;
461 return EntityManager;
#define ensureMsgf( InExpression, InFormat,...)
Definition AssertionMacros.h:465
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
@ Composition
Definition HairStrandsComposition.cpp:43
T TNotNull
Definition NotNull.h:307
#define UE_API
Definition SColorGradingComponentViewer.h:12
Definition AssetRegistryState.h:50
Definition SharedPointer.h:153
Definition MassEntityConcepts.h:26
Definition MassEntityConcepts.h:38
Definition MassEntityConcepts.h:23
@ Invalid
Definition BTCompositeNode.h:38
@ Committed
Definition MemPro.h:149
Definition OverriddenPropertySet.cpp:45
ERelationRole
Definition MassEntityRelations.h:46
Definition MassArchetypeData.h:21
typename Private::TElementTypeHelper< T >::Type TElementType
Definition MassEntityConcepts.h:58
Definition InstancedStruct.h:32
Definition MassEntityTypes.h:74
Definition MassEntityTypes.h:816
Definition MassArchetypeTypes.h:39
Definition MassEntityTypes.h:297
void Reset()
Definition MassEntityTypes.h:1001
Definition MassEntityHandle.h:13
bool IsValid() const
Definition MassEntityHandle.h:48
Definition MassEntityManager.h:96
Definition InstancedStruct.h:307
Definition MassEntityBuilder.h:188
FMassEntityHandle OtherEntity
Definition MassEntityBuilder.h:190
UE::Mass::FTypeHandle RelationTypeHandle
Definition MassEntityBuilder.h:189
Relations::ERelationRole OtherEntityRole
Definition MassEntityBuilder.h:191
Definition MassEntityBuilder.h:253
bool operator()(const TInstancedStruct &Instance) const
Definition MassEntityBuilder.h:255
const UScriptStruct * SearchedType
Definition MassEntityBuilder.h:259
Definition MassEntityBuilder.h:61
T * Find()
Definition MassEntityBuilder.h:423
bool IsCommitted() const
Definition MassEntityBuilder.h:454
UE_API FEntityBuilder & operator=(const FEntityBuilder &Other)
Definition MassEntityBuilder.cpp:138
bool HasReservedEntityHandle() const
Definition MassEntityBuilder.h:449
UE_API bool AppendDataFromEntity(const FMassEntityHandle SourceEntityHandle)
Definition MassEntityBuilder.cpp:382
static UE_API FEntityBuilder Make(const TSharedRef< FMassEntityManager > &InEntityManager, const FMassArchetypeCompositionDescriptor &Composition, TConstArrayView< FInstancedStruct > InitialFragmentValues={}, TConstArrayView< FConstSharedStruct > ConstSharedFragments={}, TConstArrayView< FSharedStruct > SharedFragments={})
Definition MassEntityBuilder.cpp:215
UE_API FMassEntityHandle GetEntityHandle() const
Definition MassEntityBuilder.cpp:435
UE_API void CacheArchetypeHandle()
Definition MassEntityBuilder.cpp:460
UE_API FEntityBuilder & AddRelation(UE::Mass::FTypeHandle RelationTypeHandle, FMassEntityHandle OtherEntity, Relations::ERelationRole InputEntityRole=Relations::ERelationRole::Object)
Definition MassEntityBuilder.cpp:600
UE_API void Reprepare()
Definition MassEntityBuilder.cpp:335
T & Add_GetRef(TArgs &&... InArgs)
Definition MassEntityBuilder.h:377
TSharedRef< FMassEntityManager > GetEntityManager()
Definition MassEntityBuilder.h:459
T & GetOrCreate(TArgs &&... InArgs)
Definition MassEntityBuilder.h:396
UE_API void ForEachRelation(const TFunctionRef< bool(FPendingRelationParams &)> &Operator)
Definition MassEntityBuilder.cpp:606
UE_API FMassArchetypeHandle GetArchetypeHandle()
Definition MassEntityBuilder.cpp:474
UE_API ~FEntityBuilder()
Definition MassEntityBuilder.cpp:210
UE_API bool CopyDataFromEntity(const FMassEntityHandle SourceEntityHandle)
Definition MassEntityBuilder.cpp:411
void ConfigureArchetypeCreation(const FMassArchetypeCreationParams &InCreationParams)
Definition MassEntityBuilder.h:464
UE_API bool SetReservedEntityHandle(const FMassEntityHandle ReservedEntityHandle)
Definition MassEntityBuilder.cpp:365
bool IsValid() const
Definition MassEntityBuilder.h:444
UE_API FMassEntityHandle Commit()
Definition MassEntityBuilder.cpp:260
UE_API void CacheSharedFragmentValue()
Definition MassEntityBuilder.cpp:480
UE_API void InvalidateCachedData()
Definition MassEntityBuilder.cpp:468
UE_API FMassEntityHandle CommitAndReprepare()
Definition MassEntityBuilder.cpp:328
FEntityBuilder & Add()
Definition MassEntityBuilder.h:352
Definition MassEntityBuilder.h:333
~FScopedEntityBuilder()
Definition MassEntityBuilder.h:342
FScopedEntityBuilder(TArgs &&... InArgs)
Definition MassEntityBuilder.h:337
UE_NONCOPYABLE(FScopedEntityBuilder)
Definition MassTypeManager.h:27
static FTypeHandle MakeTypeHandle(TNotNull< const UStruct * > InTypeKey)
Definition MassTypeManager.h:307
Definition MassEntityBuilder.cpp:32