Method CalculateFilteredChunkIndexArray
CalculateFilteredChunkIndexArray(AllocatorHandle)
Generates an array which gives the index of each chunk relative to the set of chunks that currently match the query, after taking all active filtering into account.
Declaration
public NativeArray<int> CalculateFilteredChunkIndexArray(AllocatorManager.AllocatorHandle allocator)
Parameters
Type | Name | Description |
---|---|---|
AllocatorManager.AllocatorHandle | allocator | The allocator used to allocate the output array. |
Returns
Type | Description |
---|---|
NativeArray<int> | An array of integers, where array[N] is the index of chunk N among the list of chunks that match this query, once all chunk- and entity-level filtering has been applied. If chunk N is filtered out of the query, array[N] will be -1. The size of this array is given by CalculateChunkCountWithoutFiltering(). |
Remarks
Note that the chunk index used to access the output array's elements should be relative to the full, unfiltered list of chunks matched by this query. Most commonly, this is the chunkIndex parameter available within Execute(in ArchetypeChunk, int, bool, in v128). For queries with no chunk filtering and no enableable components, array[N] will equal N.
This function will automatically block until any running jobs which could affect its output have completed. For a non-blocking implementation, use CalculateFilteredChunkIndexArrayAsync(AllocatorHandle, JobHandle, out JobHandle).