15#define UE_API MASSENTITY_API
22 using namespace Relations;
101 template<CSharedFragment T>
161 template<CSharedFragment T>
218 bool bBuiltInTypesRegistered =
false;
254 return TypeDataMap.IsEmpty();
267 template<CSharedFragment T>
270 return RegisterType(T::StaticStruct(), FSharedFragmentTypeTraits::Make<T>());
277 return RegisterType(T::StaticClass(), FSubsystemTypeTraits::Make<T>());
304 return OuterEntityManager;
#define check(expr)
Definition AssertionMacros.h:314
FName GetFNameSafe(const FField *InField)
Definition Field.h:1216
FString GetNameSafe(const FField *InField)
Definition Field.h:1230
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
T TNotNull
Definition NotNull.h:307
#define UE_API
Definition SColorGradingComponentViewer.h:12
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition NameTypes.h:617
Definition UnrealString.h.inl:34
Definition ObjectKey.h:228
InElementType * ResolveObjectPtr() const
Definition ObjectKey.h:291
Definition SharedPointer.h:1640
U & Get() UE_LIFETIMEBOUND
Definition TVariant.h:146
U * TryGet() UE_LIFETIMEBOUND
Definition TVariant.h:174
Definition Subsystem.h:48
Definition MassArchetypeData.h:21
Definition MassEntityManager.h:96
Definition UnrealTypeTraits.h:40
Definition MassExternalSubsystemTraits.h:27
Definition MassExternalSubsystemTraits.h:44
Definition MassTypeManager.h:71
Definition MassTypeManager.h:97
FSharedFragmentTypeTraits()=default
static FSharedFragmentTypeTraits Make()
Definition MassTypeManager.h:102
bool bGameThreadOnly
Definition MassTypeManager.h:110
Definition MassTypeManager.h:76
static FSubsystemTypeTraits Make()
Definition MassTypeManager.h:81
bool bGameThreadOnly
Definition MassTypeManager.h:90
FSubsystemTypeTraits()=default
bool bThreadSafeWrite
Definition MassTypeManager.h:92
Definition MassTypeManager.h:27
const UScriptStruct * GetScriptStruct() const
Definition MassTypeManager.h:40
FName GetFName() const
Definition MassTypeManager.h:50
FTypeHandle(const FTypeHandle &)=default
FString ToString() const
Definition MassTypeManager.h:56
bool IsValid() const
Definition MassTypeManager.h:224
const UClass * GetClass() const
Definition MassTypeManager.h:35
friend uint32 GetTypeHash(const FTypeHandle &InHandle)
Definition MassTypeManager.h:45
bool operator==(const FTypeHandle &) const =default
Definition MassTypeManager.h:118
FTypeTraits Traits
Definition MassTypeManager.h:125
const FSharedFragmentTypeTraits * GetAsSharedFragmentTraits() const
Definition MassTypeManager.h:237
FName TypeName
Definition MassTypeManager.h:124
const FSubsystemTypeTraits * GetAsSystemTraits() const
Definition MassTypeManager.h:232
const FRelationTypeTraits & GetAsRelationTraitsChecked() const
Definition MassTypeManager.h:247
const FRelationTypeTraits * GetAsRelationTraits() const
Definition MassTypeManager.h:242
Definition MassTypeManager.h:141
bool IsEmpty() const
Definition MassTypeManager.h:252
FTypeHandle RegisterType()
Definition MassTypeManager.h:268
FTypeInfoConstIterator MakeIterator() const
Definition MassTypeManager.h:257
DECLARE_MULTICAST_DELEGATE_OneParam(FOnRegisterBuiltInTypes, FTypeManager &)
UE_API FTypeHandle GetRelationTypeHandle(const TNotNull< const UScriptStruct * > RelationOrElementType) const
Definition MassTypeManager.cpp:130
const FTypeInfo * GetTypeInfo(FTypeHandle TypeHandle) const
Definition MassTypeManager.h:280
TMap< FTypeHandle, FTypeInfo >::TConstIterator FTypeInfoConstIterator
Definition MassTypeManager.h:184
TSet< FTypeHandle >::TConstIterator FSubsystemTypeConstIterator
Definition MassTypeManager.h:191
void RegisterBuiltInTypes()
Definition MassTypeManager.cpp:32
::Value FTypeHandle RegisterType()
static UE_API FOnRegisterBuiltInTypes OnRegisterBuiltInTypes
Definition MassTypeManager.h:204
FMassEntityManager & GetEntityManager()
Definition MassTypeManager.h:302
UE_API bool IsValidRelationType(const TNotNull< const UScriptStruct * > RelationOrElementType) const
Definition MassTypeManager.cpp:140
const FRelationTypeTraits & GetRelationTypeChecked(const FTypeHandle TypeHandle) const
Definition MassTypeManager.h:290
static FTypeHandle MakeTypeHandle(TNotNull< const UStruct * > InTypeKey)
Definition MassTypeManager.h:307
FSubsystemTypeConstIterator MakeSubsystemIterator() const
Definition MassTypeManager.h:262
Definition MassEntityRelations.h:105