Method CalculateFilteredChunkIndexArrayAsync
CalculateFilteredChunkIndexArrayAsync(AllocatorManager.AllocatorHandle, JobHandle, out JobHandle)
Asynchronously 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> CalculateFilteredChunkIndexArrayAsync(AllocatorManager.AllocatorHandle allocator, JobHandle additionalInputDep, out JobHandle outJobHandle)
Parameters
Type | Name | Description |
---|---|---|
AllocatorManager.AllocatorHandle | allocator | The allocator used to allocate the output array. |
JobHandle | additionalInputDep | A job handle which the newly scheduled job will depend upon, in addition to the dependencies automatically determined by the component safety system. |
JobHandle | outJobHandle | An |
Returns
Type | Description |
---|---|
NativeArray<Int32> | 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(). This array's contents
must not be accessed until |
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, Int32, Boolean, in v128). For queries with no chunk filtering and no enableable components, array[N] will equal N.
This function will automatically insert dependencies any running jobs which could affect its output. For a blocking implementation, use CalculateFilteredChunkIndexArray(AllocatorManager.AllocatorHandle).