Method Execute
Execute(in ArchetypeChunk, int, bool, in v128)
Implement the Execute
function to perform a unit of work on an ArchetypeChunk representing
a chunk.
Declaration
void Execute(in ArchetypeChunk chunk, int unfilteredChunkIndex, bool useEnabledMask, in v128 chunkEnabledMask)
Parameters
Type | Name | Description |
---|---|---|
ArchetypeChunk | chunk | An object providing access to the entities within a chunk. |
int | unfilteredChunkIndex | The index of the current chunk within the list of all chunks in all archetypes matched by the EntityQuery that the job was run against. |
bool | useEnabledMask | If true, the contents of |
v128 | chunkEnabledMask | If bit N in this mask is set, entity N in |
Remarks
The chunks selected by the EntityQuery used to schedule the job are the input to your Execute
function. The Execute
function is called once per matching chunk.
Note that unfilteredChunkIndex
is not necessarily guaranteed to be a zero-based,
tightly-packed index into the chunks the job actually runs on. For example, if the query matches 100 chunks,
but the query's uses SetSharedComponentFilter<SharedComponent>(SharedComponent) and the first 50 chunks get
filtered out, the unfilteredChunkIndex
will range from 50 to 99. If the index relative
to the filtered chunk list is required, use CalculateFilteredChunkIndexArray(AllocatorHandle)