5#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_6
9#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_6
15#define UE_API MASSENTITY_API
186 UE_DEPRECATED(5.6,
"This function is deprecated. Use !IsEmpty() instead.")
219#if WITH_MASSENTITY_DEBUG
229 void GatherChunksFromArchetype();
269 int32 CurrentChunkIndex = 0;
274 operator bool()
const {
return EntityRanges.IsValidIndex(CurrentChunkIndex) && EntityRanges[CurrentChunkIndex].IsSet(); }
345 return ArchetypeHandle.
IsValid();
350 return ArchetypeHandle ==
Other.ArchetypeHandle && HandleVersion ==
Other.HandleVersion;
355 return !(*
this ==
Other);
360 return ArchetypeHandle;
370 return DataPtr ==
Other.DataPtr;
375 return DataPtr !=
Other.DataPtr;
401 return Ranges.
Num() == 0 && Archetype.
IsValid() ==
false;
416 return Archetype ==
Other.Archetype;
432 ,
TEXT(
"Entity collection ranges overlap as a result of %hs"),
__FUNCTION__);
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define checkfSlow(expr, format,...)
Definition AssertionMacros.h:333
#define check(expr)
Definition AssertionMacros.h:314
#define checkf(expr, format,...)
Definition AssertionMacros.h:315
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#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 UE_API
Definition MassArchetypeTypes.h:15
const bool
Definition NetworkReplayStreaming.h:178
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTempIfPossible(T &&Obj) noexcept
Definition UnrealTemplate.h:538
UE_REWRITE SizeType Num() const
Definition Array.h:1144
void Reset(SizeType NewSize=0)
Definition Array.h:2246
UE_REWRITE bool IsEmpty() const
Definition Array.h:1133
void Append(const TArray< OtherElementType, OtherAllocatorType > &Source)
Definition Array.h:2412
Definition AndroidPlatformMisc.h:14
Definition SharedPointer.h:692
UE_FORCEINLINE_HINT void Reset()
Definition SharedPointer.h:1120
UE_FORCEINLINE_HINT const bool IsValid() const
Definition SharedPointer.h:1085
Definition StridedView.h:44
Definition MassArchetypeTypes.h:266
const FMassArchetypeEntityCollection::FArchetypeEntityRange & operator*() const
Definition MassArchetypeTypes.h:278
FMassArchetypeChunkIterator & operator++()
Definition MassArchetypeTypes.h:275
const FMassArchetypeEntityCollection::FArchetypeEntityRange * operator->() const
Definition MassArchetypeTypes.h:277
FMassArchetypeChunkIterator(const FMassArchetypeEntityCollection::FConstEntityRangeArrayView &InEntityRanges)
Definition MassArchetypeTypes.h:272
Definition MassArchetypeData.h:172
Definition MassArchetypeTypes.h:233
const FMassArchetypeEntityCollection & GetEntityCollection() const
Definition MassArchetypeTypes.h:248
FMassArchetypeEntityCollectionWithPayload(FMassArchetypeEntityCollection &&InEntityCollection)
Definition MassArchetypeTypes.h:239
const FMassGenericPayloadViewSlice & GetPayload() const
Definition MassArchetypeTypes.h:249
FMassArchetypeEntityCollectionWithPayload(const FMassArchetypeEntityCollection &InEntityCollection)
Definition MassArchetypeTypes.h:234
static UE_API void CreateEntityRangesWithPayload(const FMassEntityManager &EntityManager, const TConstArrayView< FMassEntityHandle > Entities, const FMassArchetypeEntityCollection::EDuplicatesHandling DuplicatesHandling, FMassGenericPayloadView Payload, TArray< FMassArchetypeEntityCollectionWithPayload > &OutEntityCollections)
Definition MassArchetypeTypes.cpp:306
Definition MassArchetypeTypes.h:96
bool IsSet() const
Definition MassArchetypeTypes.h:112
bool IsOverlapping(const FArchetypeEntityRange &Other) const
Definition MassArchetypeTypes.h:120
FArchetypeEntityRange()=default
bool operator<(const FArchetypeEntityRange &Other) const
Definition MassArchetypeTypes.h:136
int32 ChunkIndex
Definition MassArchetypeTypes.h:97
int32 Length
Definition MassArchetypeTypes.h:107
bool operator!=(const FArchetypeEntityRange &Other) const
Definition MassArchetypeTypes.h:134
bool IsAdjacentAfter(const FArchetypeEntityRange &Other) const
Definition MassArchetypeTypes.h:115
FArchetypeEntityRange(const int32 InChunkIndex, const int32 InSubchunkStart=0, const int32 InLength=0)
Definition MassArchetypeTypes.h:110
int32 SubchunkStart
Definition MassArchetypeTypes.h:101
bool operator==(const FArchetypeEntityRange &Other) const
Definition MassArchetypeTypes.h:130
Definition MassArchetypeTypes.h:93
bool IsEmpty() const
Definition MassArchetypeTypes.h:399
UE_API void BuildEntityRanges(TStridedView< const int32 > TrueIndices)
Definition MassArchetypeTypes.cpp:161
static UE_API bool DoesContainOverlappingRanges(FConstEntityRangeArrayView Ranges)
Definition MassArchetypeTypes.cpp:266
bool IsSet() const
Definition MassArchetypeTypes.h:409
TConstArrayView< FArchetypeEntityRange > FConstEntityRangeArrayView
Definition MassArchetypeTypes.h:161
bool IsSameArchetype(const FMassArchetypeEntityCollection &Other) const
Definition MassArchetypeTypes.h:414
FMassArchetypeEntityCollection(const FMassArchetypeHandle &InArchetypeHandle, FEntityRangeArray &&InEntityRanges)
Definition MassArchetypeTypes.h:176
FConstEntityRangeArrayView GetRanges() const
Definition MassArchetypeTypes.h:389
EInitializationType
Definition MassArchetypeTypes.h:155
@ DoNothing
Definition MassArchetypeTypes.h:157
@ GatherAll
Definition MassArchetypeTypes.h:156
bool IsUpToDate() const
Definition MassArchetypeTypes.h:404
UE_API bool ExportEntityHandles(TArray< FMassEntityHandle > &InOutHandles) const
Definition MassArchetypeTypes.cpp:246
void Reset()
Definition MassArchetypeTypes.h:189
static UE_API FArchetypeEntityRange CreateRangeForEntity(const FMassArchetypeHandle &InArchetype, const FMassEntityHandle EntityHandle)
Definition MassArchetypeTypes.cpp:41
FMassArchetypeEntityCollection()=default
void Append(T &&Other)
Definition MassArchetypeTypes.h:421
EDuplicatesHandling
Definition MassArchetypeTypes.h:147
@ NoDuplicates
Definition MassArchetypeTypes.h:148
@ FoldDuplicates
Definition MassArchetypeTypes.h:150
FMassArchetypeHandle GetArchetype() const
Definition MassArchetypeTypes.h:394
UE_API bool IsSame(const FMassArchetypeEntityCollection &Other) const
Definition MassArchetypeTypes.cpp:229
Definition MassArchetypeTypes.h:39
MASSENTITY_API friend uint32 GetTypeHash(const FMassArchetypeHandle &Instance)
Definition MassArchetypeTypes.cpp:13
bool operator==(const FMassArchetypeHandle &Other) const
Definition MassArchetypeTypes.h:368
void Reset()
Definition MassArchetypeTypes.h:378
bool operator!=(const FMassArchetypeHandle &Other) const
Definition MassArchetypeTypes.h:373
FMassArchetypeHandle()=default
bool IsValid() const
Definition MassArchetypeTypes.h:363
Definition MassArchetypeData.h:507
Definition MassArchetypeTypes.h:61
MASSENTITY_API friend uint32 GetTypeHash(const FMassArchetypeHandle &Instance)
Definition MassArchetypeTypes.cpp:13
bool operator!=(const FMassArchetypeVersionedHandle &Other) const
Definition MassArchetypeTypes.h:353
MASSENTITY_API bool IsUpToDate() const
Definition MassArchetypeTypes.cpp:33
bool IsValid() const
Definition MassArchetypeTypes.h:343
bool operator==(const FMassArchetypeVersionedHandle &Other) const
Definition MassArchetypeTypes.h:348
FMassArchetypeVersionedHandle()=default
Definition MassDebugger.h:441
Definition MassEntityHandle.h:13
Definition MassArchetypeTypes.h:304
bool operator==(const FMassEntityInChunkDataHandle &Other) const
Definition MassArchetypeTypes.h:468
FMassEntityInChunkDataHandle(FMassEntityInChunkDataHandle &&)=default
const int32 ChunkSerialNumber
Definition MassArchetypeTypes.h:317
FMassEntityInChunkDataHandle()=default
FMassEntityInChunkDataHandle & operator=(const FMassEntityInChunkDataHandle &)
Definition MassArchetypeTypes.h:450
FMassEntityInChunkDataHandle(const FMassEntityInChunkDataHandle &)=default
const int32 ChunkIndex
Definition MassArchetypeTypes.h:316
Definition MassEntityManager.h:96
Definition MassEntityQuery.h:51
Definition MassEntityView.h:24
Definition MassExecutionContext.h:29
Definition MassEntityElementTypes.h:10
Definition MassEntityTypes.h:658
Definition MassEntityTypes.h:623
Definition MassArchetypeTypes.h:326
FMassFragmentIndicesMapping EntityFragments
Definition MassArchetypeTypes.h:329
FMassQueryRequirementIndicesMapping()=default
FMassFragmentIndicesMapping ConstSharedFragments
Definition MassArchetypeTypes.h:331
bool IsEmpty() const
Definition MassArchetypeTypes.h:333
FMassFragmentIndicesMapping ChunkFragments
Definition MassArchetypeTypes.h:330
FMassFragmentIndicesMapping SharedFragments
Definition MassArchetypeTypes.h:332
Definition MassArchetypeTypes.h:285
const int32 IndexWithinChunk
Definition MassArchetypeTypes.h:293
bool IsSet() const
Definition MassArchetypeTypes.h:440
FMassRawEntityInChunkData()=default
bool operator==(const FMassRawEntityInChunkData &Other) const
Definition MassArchetypeTypes.h:445
uint8 *const ChunkRawMemory
Definition MassArchetypeTypes.h:292