UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMassArchetypeData Struct Reference

#include <MassArchetypeData.h>

Classes

struct  FTransientChunkLocation
 

Public Member Functions

 FMassArchetypeData (const FMassArchetypeCreationParams &CreationParams=FMassArchetypeCreationParams())
 
TConstArrayView< FMassArchetypeFragmentConfigGetFragmentConfigs () const
 
const FMassFragmentBitSetGetFragmentBitSet () const
 
const FMassTagBitSetGetTagBitSet () const
 
const FMassChunkFragmentBitSetGetChunkFragmentBitSet () const
 
const FMassSharedFragmentBitSetGetSharedFragmentBitSet () const
 
const FMassConstSharedFragmentBitSetGetConstSharedFragmentBitSet () const
 
const FMassArchetypeCompositionDescriptorGetCompositionDescriptor () const
 
FORCEINLINE const FMassArchetypeSharedFragmentValuesGetSharedFragmentValues (int32 EntityIndex) const
 
FORCEINLINE const FMassArchetypeSharedFragmentValuesGetSharedFragmentValues (FMassEntityHandle Entity) const
 
const UE::Mass::FArchetypeGroupsGetGroups () const
 
bool IsInGroup (const UE::Mass::FArchetypeGroupHandle GroupHandle) const
 
bool IsInGroupOfType (const UE::Mass::FArchetypeGroupType GroupType) const
 
void ForEachFragmentType (TFunction< void(const UScriptStruct *)> Function) const
 
bool HasFragmentType (const UScriptStruct *FragmentType) const
 
bool HasTagType (const UScriptStruct *FragmentType) const
 
bool IsEquivalent (const FMassArchetypeCompositionDescriptor &OtherCompositionDescriptor, const UE::Mass::FArchetypeGroups &OtherGroups) const
 
void Initialize (const FMassEntityManager &EntityManager, const FMassArchetypeCompositionDescriptor &InCompositionDescriptor, const uint32 ArchetypeDataVersion)
 
void InitializeWithSimilar (const FMassEntityManager &EntityManager, const FMassArchetypeData &BaseArchetype, FMassArchetypeCompositionDescriptor &&NewComposition, const UE::Mass::FArchetypeGroups &InGroups, const uint32 ArchetypeDataVersion)
 
void AddEntity (FMassEntityHandle Entity, const FMassArchetypeSharedFragmentValues &InSharedFragmentValues)
 
void RemoveEntity (FMassEntityHandle Entity)
 
bool HasFragmentDataForEntity (const UScriptStruct *FragmentType, int32 EntityIndex) const
 
voidGetFragmentDataForEntityChecked (const UScriptStruct *FragmentType, int32 EntityIndex) const
 
voidGetFragmentDataForEntity (const UScriptStruct *FragmentType, int32 EntityIndex) const
 
FORCEINLINE const int32GetInternalIndexForEntity (const int32 EntityIndex) const
 
FORCEINLINE int32 GetInternalIndexForEntityChecked (const int32 EntityIndex) const
 
int32 GetNumEntitiesPerChunk () const
 
SIZE_T GetBytesPerEntity () const
 
int32 GetNumEntities () const
 
SIZE_T GetChunkAllocSize () const
 
int32 GetChunkCount () const
 
int32 GetNonEmptyChunkCount () const
 
int32 CalculateRangeLength (FMassArchetypeEntityCollection::FArchetypeEntityRange EntityRange) const
 
uint32 GetCreatedArchetypeDataVersion () const
 
uint32 GetEntityOrderVersion () const
 
void ExecuteFunction (FMassExecutionContext &RunContext, const FMassExecuteFunction &Function, const FMassQueryRequirementIndicesMapping &RequirementMapping, FMassArchetypeEntityCollection::FConstEntityRangeArrayView EntityRangeContainer, const FMassChunkConditionFunction &ChunkCondition)
 
void ExecuteFunction (FMassExecutionContext &RunContext, const FMassExecuteFunction &Function, const FMassQueryRequirementIndicesMapping &RequirementMapping, const FMassChunkConditionFunction &ChunkCondition, UE::Mass::FExecutionLimiter *ExecutionLimiter=nullptr)
 
void ExecutionFunctionForChunk (FMassExecutionContext &RunContext, const FMassExecuteFunction &Function, const FMassQueryRequirementIndicesMapping &RequirementMapping, const FMassArchetypeEntityCollection::FArchetypeEntityRange &EntityRange, const FMassChunkConditionFunction &ChunkCondition=FMassChunkConditionFunction())
 
int32 CompactEntities (const double TimeAllowed)
 
void MoveEntityToAnotherArchetype (const FMassEntityHandle Entity, FMassArchetypeData &NewArchetype, const FMassArchetypeSharedFragmentValues *SharedFragmentValuesOverride=nullptr)
 
void SetFragmentsData (const FMassEntityHandle Entity, TArrayView< const FInstancedStruct > FragmentSources)
 
void SetFragmentData (FMassArchetypeEntityCollection::FConstEntityRangeArrayView EntityRangeContainer, const FInstancedStruct &FragmentSource)
 
void GetRequirementsFragmentMapping (TConstArrayView< FMassFragmentRequirementDescription > Requirements, FMassFragmentIndicesMapping &OutFragmentIndices) const
 
void GetRequirementsChunkFragmentMapping (TConstArrayView< FMassFragmentRequirementDescription > ChunkRequirements, FMassFragmentIndicesMapping &OutFragmentIndices) const
 
void GetRequirementsConstSharedFragmentMapping (TConstArrayView< FMassFragmentRequirementDescription > Requirements, FMassFragmentIndicesMapping &OutFragmentIndices) const
 
void GetRequirementsSharedFragmentMapping (TConstArrayView< FMassFragmentRequirementDescription > Requirements, FMassFragmentIndicesMapping &OutFragmentIndices) const
 
SIZE_T GetAllocatedSize () const
 
void ExportEntityHandles (const TConstArrayView< FMassArchetypeEntityCollection::FArchetypeEntityRange > Ranges, TArray< FMassEntityHandle > &InOutHandles) const
 
void ExportEntityHandles (TArray< FMassEntityHandle > &InOutHandles) const
 
FString DebugGetDescription () const
 
void CopyDebugNamesFrom (const FMassArchetypeData &Other)
 
void SetDebugColor (const FColor InDebugColor)
 
void REMOVEME_GetArrayViewForFragmentInChunk (int32 ChunkIndex, const UScriptStruct *FragmentType, void *&OutChunkBase, int32 &OutNumEntities)
 
FORCEINLINE const int32GetFragmentIndex (const UScriptStruct *FragmentType) const
 
FORCEINLINE int32 GetFragmentIndexChecked (const UScriptStruct *FragmentType) const
 
FORCEINLINE voidGetFragmentData (const int32 FragmentIndex, const FMassRawEntityInChunkData RawEntityInChunkHandle) const
 
FORCEINLINE bool IsValidHandle (const FMassEntityInChunkDataHandle Handle) const
 
FORCEINLINE voidGetFragmentData (const int32 FragmentIndex, const FMassEntityInChunkDataHandle EntityInChunkHandle) const
 
FORCEINLINE FMassRawEntityInChunkData MakeRawEntityHandle (int32 EntityIndex) const
 
FORCEINLINE FMassRawEntityInChunkData MakeRawEntityHandle (const FMassEntityHandle Entity) const
 
FORCEINLINE FMassEntityInChunkDataHandle MakeEntityHandle (int32 EntityIndex) const
 
FORCEINLINE FMassEntityInChunkDataHandle MakeEntityHandle (const FMassEntityHandle Entity) const
 
bool IsInitialized () const
 
void BatchDestroyEntityChunks (FMassArchetypeEntityCollection::FConstEntityRangeArrayView EntityRangeContainer, TArray< FMassEntityHandle > &OutEntitiesRemoved)
 
void BatchAddEntities (TConstArrayView< FMassEntityHandle > Entities, const FMassArchetypeSharedFragmentValues &SharedFragmentValues, TArray< FMassArchetypeEntityCollection::FArchetypeEntityRange > &OutNewRanges)
 
void BatchMoveEntitiesToAnotherArchetype (const FMassArchetypeEntityCollection &EntityCollection, FMassArchetypeData &NewArchetype, TArray< FMassEntityHandle > &OutEntitiesBeingMoved, TArray< FMassArchetypeEntityCollection::FArchetypeEntityRange > *OutNewChunks=nullptr, const FMassArchetypeSharedFragmentValues *SharedFragmentValuesToAdd=nullptr, const FMassSharedFragmentBitSet *SharedFragmentToRemoveBitSet=nullptr, const FMassConstSharedFragmentBitSet *ConstSharedFragmentToRemoveBitSet=nullptr)
 
void BatchSetFragmentValues (TConstArrayView< FMassArchetypeEntityCollection::FArchetypeEntityRange > EntityCollection, const FMassGenericPayloadViewSlice &Payload)
 

Static Public Member Functions

static FORCEINLINE int32 CalculateRangeLength (FMassArchetypeEntityCollection::FArchetypeEntityRange EntityRange, const FMassArchetypeChunk &Chunk)
 

Protected Member Functions

FMassArchetypeEntityCollection::FArchetypeEntityRange PrepareNextEntitiesSpanInternal (TConstArrayView< FMassEntityHandle > Entities, const FMassArchetypeSharedFragmentValues &InSharedFragmentValues, const int32 StartingChunk=0)
 
void BatchRemoveEntitiesInternal (const int32 ChunkIndex, const int32 StartIndexWithinChunk, const int32 NumberToRemove)
 
void MoveFragmentsToAnotherArchetypeInternal (FMassArchetypeData &TargetArchetype, FTransientChunkLocation Target, const FTransientChunkLocation Source, const int32 ElementsNum)
 
void MoveFragmentsToNewLocationInternal (FTransientChunkLocation Target, const FTransientChunkLocation Source, const int32 NumberToMove)
 
void ConfigureFragments (const FMassEntityManager &EntityManager)
 
FORCEINLINE voidGetFragmentData (const int32 FragmentIndex, uint8 *ChunkRawMemory, const int32 IndexWithinChunk) const
 
void BindEntityRequirements (FMassExecutionContext &RunContext, const FMassFragmentIndicesMapping &EntityFragmentsMapping, FMassArchetypeChunk &Chunk, const int32 SubchunkStart, const int32 SubchunkLength)
 
void BindChunkFragmentRequirements (FMassExecutionContext &RunContext, const FMassFragmentIndicesMapping &ChunkFragmentsMapping, FMassArchetypeChunk &Chunk)
 
void BindConstSharedFragmentRequirements (FMassExecutionContext &RunContext, const FMassArchetypeSharedFragmentValues &SharedFragmentValues, const FMassFragmentIndicesMapping &ChunkFragmentsMapping)
 
void BindSharedFragmentRequirements (FMassExecutionContext &RunContext, FMassArchetypeSharedFragmentValues &SharedFragmentValues, const FMassFragmentIndicesMapping &ChunkFragmentsMapping)
 
void SetSharedFragmentsData (const FMassEntityHandle Entity, TConstArrayView< FSharedStruct > SharedFragmentValueOverrides)
 
FMassArchetypeChunkGetOrAddChunk (const FMassArchetypeSharedFragmentValues &SharedFragmentValues, int32 &OutAbsoluteIndex, int32 &OutIndexWithinChunk)
 

Constructor & Destructor Documentation

◆ FMassArchetypeData()

FMassArchetypeData::FMassArchetypeData ( const FMassArchetypeCreationParams CreationParams = FMassArchetypeCreationParams())
explicit

Member Function Documentation

◆ AddEntity()

void FMassArchetypeData::AddEntity ( FMassEntityHandle  Entity,
const FMassArchetypeSharedFragmentValues InSharedFragmentValues 
)

◆ BatchAddEntities()

void FMassArchetypeData::BatchAddEntities ( TConstArrayView< FMassEntityHandle Entities,
const FMassArchetypeSharedFragmentValues SharedFragmentValues,
TArray< FMassArchetypeEntityCollection::FArchetypeEntityRange > &  OutNewRanges 
)

◆ BatchDestroyEntityChunks()

void FMassArchetypeData::BatchDestroyEntityChunks ( FMassArchetypeEntityCollection::FConstEntityRangeArrayView  EntityRangeContainer,
TArray< FMassEntityHandle > &  OutEntitiesRemoved 
)

◆ BatchMoveEntitiesToAnotherArchetype()

void FMassArchetypeData::BatchMoveEntitiesToAnotherArchetype ( const FMassArchetypeEntityCollection EntityCollection,
FMassArchetypeData NewArchetype,
TArray< FMassEntityHandle > &  OutEntitiesBeingMoved,
TArray< FMassArchetypeEntityCollection::FArchetypeEntityRange > *  OutNewChunks = nullptr,
const FMassArchetypeSharedFragmentValues SharedFragmentValuesToAdd = nullptr,
const FMassSharedFragmentBitSet SharedFragmentToRemoveBitSet = nullptr,
const FMassConstSharedFragmentBitSet ConstSharedFragmentToRemoveBitSet = nullptr 
)
Parameters
SharedFragmentValuesOverrideif provided will override shared fragment values for the entities being moved

◆ BatchRemoveEntitiesInternal()

void FMassArchetypeData::BatchRemoveEntitiesInternal ( const int32  ChunkIndex,
const int32  StartIndexWithinChunk,
const int32  NumberToRemove 
)
protected

◆ BatchSetFragmentValues()

void FMassArchetypeData::BatchSetFragmentValues ( TConstArrayView< FMassArchetypeEntityCollection::FArchetypeEntityRange EntityCollection,
const FMassGenericPayloadViewSlice Payload 
)

◆ BindChunkFragmentRequirements()

void FMassArchetypeData::BindChunkFragmentRequirements ( FMassExecutionContext RunContext,
const FMassFragmentIndicesMapping ChunkFragmentsMapping,
FMassArchetypeChunk Chunk 
)
protected

◆ BindConstSharedFragmentRequirements()

void FMassArchetypeData::BindConstSharedFragmentRequirements ( FMassExecutionContext RunContext,
const FMassArchetypeSharedFragmentValues SharedFragmentValues,
const FMassFragmentIndicesMapping ChunkFragmentsMapping 
)
protected

◆ BindEntityRequirements()

void FMassArchetypeData::BindEntityRequirements ( FMassExecutionContext RunContext,
const FMassFragmentIndicesMapping EntityFragmentsMapping,
FMassArchetypeChunk Chunk,
const int32  SubchunkStart,
const int32  SubchunkLength 
)
protected

◆ BindSharedFragmentRequirements()

void FMassArchetypeData::BindSharedFragmentRequirements ( FMassExecutionContext RunContext,
FMassArchetypeSharedFragmentValues SharedFragmentValues,
const FMassFragmentIndicesMapping ChunkFragmentsMapping 
)
protected

◆ CalculateRangeLength() [1/2]

int32 FMassArchetypeData::CalculateRangeLength ( FMassArchetypeEntityCollection::FArchetypeEntityRange  EntityRange) const
inline

◆ CalculateRangeLength() [2/2]

static FORCEINLINE int32 FMassArchetypeData::CalculateRangeLength ( FMassArchetypeEntityCollection::FArchetypeEntityRange  EntityRange,
const FMassArchetypeChunk Chunk 
)
inlinestatic

◆ CompactEntities()

int32 FMassArchetypeData::CompactEntities ( const double  TimeAllowed)

Compacts entities to fill up chunks as much as possible

Returns
number of entities moved around

◆ ConfigureFragments()

void FMassArchetypeData::ConfigureFragments ( const FMassEntityManager EntityManager)
protected

◆ CopyDebugNamesFrom()

void FMassArchetypeData::CopyDebugNamesFrom ( const FMassArchetypeData Other)
inline

Copies debug names from another archetype data.

◆ DebugGetDescription()

FString FMassArchetypeData::DebugGetDescription ( ) const

◆ ExecuteFunction() [1/2]

void FMassArchetypeData::ExecuteFunction ( FMassExecutionContext RunContext,
const FMassExecuteFunction Function,
const FMassQueryRequirementIndicesMapping RequirementMapping,
const FMassChunkConditionFunction ChunkCondition,
UE::Mass::FExecutionLimiter ExecutionLimiter = nullptr 
)

◆ ExecuteFunction() [2/2]

void FMassArchetypeData::ExecuteFunction ( FMassExecutionContext RunContext,
const FMassExecuteFunction Function,
const FMassQueryRequirementIndicesMapping RequirementMapping,
FMassArchetypeEntityCollection::FConstEntityRangeArrayView  EntityRangeContainer,
const FMassChunkConditionFunction ChunkCondition 
)

◆ ExecutionFunctionForChunk()

void FMassArchetypeData::ExecutionFunctionForChunk ( FMassExecutionContext RunContext,
const FMassExecuteFunction Function,
const FMassQueryRequirementIndicesMapping RequirementMapping,
const FMassArchetypeEntityCollection::FArchetypeEntityRange EntityRange,
const FMassChunkConditionFunction ChunkCondition = FMassChunkConditionFunction() 
)

◆ ExportEntityHandles() [1/2]

void FMassArchetypeData::ExportEntityHandles ( const TConstArrayView< FMassArchetypeEntityCollection::FArchetypeEntityRange Ranges,
TArray< FMassEntityHandle > &  InOutHandles 
) const

◆ ExportEntityHandles() [2/2]

void FMassArchetypeData::ExportEntityHandles ( TArray< FMassEntityHandle > &  InOutHandles) const

◆ ForEachFragmentType()

void FMassArchetypeData::ForEachFragmentType ( TFunction< void(const UScriptStruct *)>  Function) const

Method to iterate on all the fragment types

◆ GetAllocatedSize()

SIZE_T FMassArchetypeData::GetAllocatedSize ( ) const

◆ GetBytesPerEntity()

SIZE_T FMassArchetypeData::GetBytesPerEntity ( ) const
inline

◆ GetChunkAllocSize()

SIZE_T FMassArchetypeData::GetChunkAllocSize ( ) const
inline

◆ GetChunkCount()

int32 FMassArchetypeData::GetChunkCount ( ) const
inline

◆ GetChunkFragmentBitSet()

const FMassChunkFragmentBitSet & FMassArchetypeData::GetChunkFragmentBitSet ( ) const
inline

◆ GetCompositionDescriptor()

const FMassArchetypeCompositionDescriptor & FMassArchetypeData::GetCompositionDescriptor ( ) const
inline

◆ GetConstSharedFragmentBitSet()

const FMassConstSharedFragmentBitSet & FMassArchetypeData::GetConstSharedFragmentBitSet ( ) const
inline

◆ GetCreatedArchetypeDataVersion()

uint32 FMassArchetypeData::GetCreatedArchetypeDataVersion ( ) const
inline

◆ GetEntityOrderVersion()

uint32 FMassArchetypeData::GetEntityOrderVersion ( ) const
inline

◆ GetFragmentBitSet()

const FMassFragmentBitSet & FMassArchetypeData::GetFragmentBitSet ( ) const
inline

◆ GetFragmentConfigs()

TConstArrayView< FMassArchetypeFragmentConfig > FMassArchetypeData::GetFragmentConfigs ( ) const
inline

◆ GetFragmentData() [1/3]

FORCEINLINE void * FMassArchetypeData::GetFragmentData ( const int32  FragmentIndex,
const FMassEntityInChunkDataHandle  EntityInChunkHandle 
) const
inline

◆ GetFragmentData() [2/3]

FORCEINLINE void * FMassArchetypeData::GetFragmentData ( const int32  FragmentIndex,
const FMassRawEntityInChunkData  RawEntityInChunkHandle 
) const
inline

◆ GetFragmentData() [3/3]

FORCEINLINE void * FMassArchetypeData::GetFragmentData ( const int32  FragmentIndex,
uint8 ChunkRawMemory,
const int32  IndexWithinChunk 
) const
inlineprotected

◆ GetFragmentDataForEntity()

void * FMassArchetypeData::GetFragmentDataForEntity ( const UScriptStruct FragmentType,
int32  EntityIndex 
) const

◆ GetFragmentDataForEntityChecked()

void * FMassArchetypeData::GetFragmentDataForEntityChecked ( const UScriptStruct FragmentType,
int32  EntityIndex 
) const

◆ GetFragmentIndex()

FORCEINLINE const int32 * FMassArchetypeData::GetFragmentIndex ( const UScriptStruct FragmentType) const
inline

◆ GetFragmentIndexChecked()

FORCEINLINE int32 FMassArchetypeData::GetFragmentIndexChecked ( const UScriptStruct FragmentType) const
inline

◆ GetGroups()

const UE::Mass::FArchetypeGroups & FMassArchetypeData::GetGroups ( ) const
inline

◆ GetInternalIndexForEntity()

FORCEINLINE const int32 * FMassArchetypeData::GetInternalIndexForEntity ( const int32  EntityIndex) const
inline

◆ GetInternalIndexForEntityChecked()

FORCEINLINE int32 FMassArchetypeData::GetInternalIndexForEntityChecked ( const int32  EntityIndex) const
inline

◆ GetNonEmptyChunkCount()

int32 FMassArchetypeData::GetNonEmptyChunkCount ( ) const

◆ GetNumEntities()

int32 FMassArchetypeData::GetNumEntities ( ) const
inline

◆ GetNumEntitiesPerChunk()

int32 FMassArchetypeData::GetNumEntitiesPerChunk ( ) const
inline

◆ GetOrAddChunk()

FMassArchetypeChunk & FMassArchetypeData::GetOrAddChunk ( const FMassArchetypeSharedFragmentValues SharedFragmentValues,
int32 OutAbsoluteIndex,
int32 OutIndexWithinChunk 
)
protected

◆ GetRequirementsChunkFragmentMapping()

void FMassArchetypeData::GetRequirementsChunkFragmentMapping ( TConstArrayView< FMassFragmentRequirementDescription ChunkRequirements,
FMassFragmentIndicesMapping OutFragmentIndices 
) const

Returns conversion from given ChunkRequirements to archetype's chunk fragment indices

◆ GetRequirementsConstSharedFragmentMapping()

void FMassArchetypeData::GetRequirementsConstSharedFragmentMapping ( TConstArrayView< FMassFragmentRequirementDescription Requirements,
FMassFragmentIndicesMapping OutFragmentIndices 
) const

Returns conversion from given const shared requirements to archetype's const shared fragment indices

◆ GetRequirementsFragmentMapping()

void FMassArchetypeData::GetRequirementsFragmentMapping ( TConstArrayView< FMassFragmentRequirementDescription Requirements,
FMassFragmentIndicesMapping OutFragmentIndices 
) const

Returns conversion from given Requirements to archetype's fragment indices

◆ GetRequirementsSharedFragmentMapping()

void FMassArchetypeData::GetRequirementsSharedFragmentMapping ( TConstArrayView< FMassFragmentRequirementDescription Requirements,
FMassFragmentIndicesMapping OutFragmentIndices 
) const

Returns conversion from given shared requirements to archetype's shared fragment indices

◆ GetSharedFragmentBitSet()

const FMassSharedFragmentBitSet & FMassArchetypeData::GetSharedFragmentBitSet ( ) const
inline

◆ GetSharedFragmentValues() [1/2]

FORCEINLINE const FMassArchetypeSharedFragmentValues & FMassArchetypeData::GetSharedFragmentValues ( FMassEntityHandle  Entity) const
inline

◆ GetSharedFragmentValues() [2/2]

FORCEINLINE const FMassArchetypeSharedFragmentValues & FMassArchetypeData::GetSharedFragmentValues ( int32  EntityIndex) const
inline

◆ GetTagBitSet()

const FMassTagBitSet & FMassArchetypeData::GetTagBitSet ( ) const
inline

◆ HasFragmentDataForEntity()

bool FMassArchetypeData::HasFragmentDataForEntity ( const UScriptStruct FragmentType,
int32  EntityIndex 
) const

◆ HasFragmentType()

bool FMassArchetypeData::HasFragmentType ( const UScriptStruct FragmentType) const

◆ HasTagType()

bool FMassArchetypeData::HasTagType ( const UScriptStruct FragmentType) const
inline

◆ Initialize()

void FMassArchetypeData::Initialize ( const FMassEntityManager EntityManager,
const FMassArchetypeCompositionDescriptor InCompositionDescriptor,
const uint32  ArchetypeDataVersion 
)

◆ InitializeWithSimilar()

void FMassArchetypeData::InitializeWithSimilar ( const FMassEntityManager EntityManager,
const FMassArchetypeData BaseArchetype,
FMassArchetypeCompositionDescriptor &&  NewComposition,
const UE::Mass::FArchetypeGroups InGroups,
const uint32  ArchetypeDataVersion 
)

A special way of initializing an archetype resulting in a copy of BaseArchetype's setup with OverrideTags replacing original tags of BaseArchetype

◆ IsEquivalent()

bool FMassArchetypeData::IsEquivalent ( const FMassArchetypeCompositionDescriptor OtherCompositionDescriptor,
const UE::Mass::FArchetypeGroups OtherGroups 
) const

◆ IsInGroup()

bool FMassArchetypeData::IsInGroup ( const UE::Mass::FArchetypeGroupHandle  GroupHandle) const
inline

◆ IsInGroupOfType()

bool FMassArchetypeData::IsInGroupOfType ( const UE::Mass::FArchetypeGroupType  GroupType) const
inline

◆ IsInitialized()

bool FMassArchetypeData::IsInitialized ( ) const
inline

◆ IsValidHandle()

FORCEINLINE bool FMassArchetypeData::IsValidHandle ( const FMassEntityInChunkDataHandle  Handle) const
inline

◆ MakeEntityHandle() [1/2]

FORCEINLINE FMassEntityInChunkDataHandle FMassArchetypeData::MakeEntityHandle ( const FMassEntityHandle  Entity) const
inline

◆ MakeEntityHandle() [2/2]

FORCEINLINE FMassEntityInChunkDataHandle FMassArchetypeData::MakeEntityHandle ( int32  EntityIndex) const
inline

◆ MakeRawEntityHandle() [1/2]

FORCEINLINE FMassRawEntityInChunkData FMassArchetypeData::MakeRawEntityHandle ( const FMassEntityHandle  Entity) const
inline

◆ MakeRawEntityHandle() [2/2]

FORCEINLINE FMassRawEntityInChunkData FMassArchetypeData::MakeRawEntityHandle ( int32  EntityIndex) const
inline

◆ MoveEntityToAnotherArchetype()

void FMassArchetypeData::MoveEntityToAnotherArchetype ( const FMassEntityHandle  Entity,
FMassArchetypeData NewArchetype,
const FMassArchetypeSharedFragmentValues SharedFragmentValuesOverride = nullptr 
)

Moves the entity from this archetype to another, will only copy all matching fragment types

Parameters
Entityis the entity to move
NewArchetypethe archetype to move to
SharedFragmentValuesOverrideif provided will override all given Entity's shared fragment values

◆ MoveFragmentsToAnotherArchetypeInternal()

void FMassArchetypeData::MoveFragmentsToAnotherArchetypeInternal ( FMassArchetypeData TargetArchetype,
FMassArchetypeData::FTransientChunkLocation  Target,
const FTransientChunkLocation  Source,
const int32  ElementsNum 
)
protected

◆ MoveFragmentsToNewLocationInternal()

FORCEINLINE void FMassArchetypeData::MoveFragmentsToNewLocationInternal ( FMassArchetypeData::FTransientChunkLocation  Target,
const FTransientChunkLocation  Source,
const int32  NumberToMove 
)
protected

◆ PrepareNextEntitiesSpanInternal()

FMassArchetypeEntityCollection::FArchetypeEntityRange FMassArchetypeData::PrepareNextEntitiesSpanInternal ( TConstArrayView< FMassEntityHandle Entities,
const FMassArchetypeSharedFragmentValues InSharedFragmentValues,
const int32  StartingChunk = 0 
)
protected

◆ RemoveEntity()

void FMassArchetypeData::RemoveEntity ( FMassEntityHandle  Entity)

◆ REMOVEME_GetArrayViewForFragmentInChunk()

void FMassArchetypeData::REMOVEME_GetArrayViewForFragmentInChunk ( int32  ChunkIndex,
const UScriptStruct FragmentType,
void *&  OutChunkBase,
int32 OutNumEntities 
)

◆ SetDebugColor()

void FMassArchetypeData::SetDebugColor ( const FColor  InDebugColor)

◆ SetFragmentData()

void FMassArchetypeData::SetFragmentData ( FMassArchetypeEntityCollection::FConstEntityRangeArrayView  EntityRangeContainer,
const FInstancedStruct FragmentSource 
)

For all entities indicated by EntityCollection the function sets the value of fragment of type FragmentSource.GetScriptStruct to the value represented by FragmentSource.GetMemory

◆ SetFragmentsData()

void FMassArchetypeData::SetFragmentsData ( const FMassEntityHandle  Entity,
TArrayView< const FInstancedStruct FragmentSources 
)

Set all fragment sources data on specified entity, will check if there are fragment sources type that does not exist in the archetype

Parameters
Entityis the entity to set the data of all fragments
FragmentSourcesare the fragments to copy the data from

◆ SetSharedFragmentsData()

void FMassArchetypeData::SetSharedFragmentsData ( const FMassEntityHandle  Entity,
TConstArrayView< FSharedStruct SharedFragmentValueOverrides 
)
protected

The function first creates new FMassArchetypeSharedFragmentValues instance combining existing values and the contents of SharedFragmentValueOverrides. Then that is used to find the target chunk for Entity, and if one cannot be found a new one will be created.

Parameters
SharedFragmentValueOverridesis expected to contain only instance of types already present in given archetypes FMassArchetypeSharedFragmentValues

The documentation for this struct was generated from the following files: