Class JobChunkExtensions
Extensions for scheduling and running IJobChunk Jobs.
Namespace: Unity.Entities
Syntax
public static class JobChunkExtensions
Methods
Run<T>(T, EntityQuery)
Runs the Job immediately on the current thread.
Declaration
public static void Run<T>(this T jobData, EntityQuery query)
where T : struct, IJobChunk
Parameters
Type | Name | Description |
---|---|---|
T | jobData | An IJobChunk instance. |
EntityQuery | query | The query selecting chunks with the necessary components. |
Type Parameters
Name | Description |
---|---|
T | The specific IJobChunk implementation type. |
RunWithoutJobs<T>(ref T, ref ArchetypeChunkIterator)
Runs the job using an ArchetypeChunkIterator instead of the jobs API.
Declaration
public static void RunWithoutJobs<T>(this ref T jobData, ref ArchetypeChunkIterator chunkIterator)
where T : struct, IJobChunk
Parameters
Type | Name | Description |
---|---|---|
T | jobData | The job to execute. |
ArchetypeChunkIterator | chunkIterator | The ArchetypeChunkIterator of the EntityQuery to run over. |
Type Parameters
Name | Description |
---|---|
T | The specific IJobChunk implementation type. |
Schedule<T>(T, EntityQuery, JobHandle)
Adds an IJobChunk instance to the Job scheduler queue for parallel execution. Note: This method is being replaced with use of ScheduleParallel to make non-sequential execution explicit.
Declaration
public static JobHandle Schedule<T>(this T jobData, EntityQuery query, JobHandle dependsOn = null)
where T : struct, IJobChunk
Parameters
Type | Name | Description |
---|---|---|
T | jobData | An IJobChunk instance. |
EntityQuery | query | The query selecting chunks with the necessary components. |
JobHandle | dependsOn | The handle identifying already scheduled Jobs that could constrain this Job. A Job that writes to a component must run before other Jobs that read or write that component. Jobs that only read the same components can run in parallel. |
Returns
Type | Description |
---|---|
JobHandle | A handle that combines the current Job with previous dependencies identified by the |
Type Parameters
Name | Description |
---|---|
T | The specific IJobChunk implementation type. |
ScheduleParallel<T>(T, EntityQuery, JobHandle)
Adds an IJobChunk instance to the Job scheduler queue for parallel execution.
Declaration
public static JobHandle ScheduleParallel<T>(this T jobData, EntityQuery query, JobHandle dependsOn = null)
where T : struct, IJobChunk
Parameters
Type | Name | Description |
---|---|---|
T | jobData | An IJobChunk instance. |
EntityQuery | query | The query selecting chunks with the necessary components. |
JobHandle | dependsOn | The handle identifying already scheduled Jobs that could constrain this Job. A Job that writes to a component must run before other Jobs that read or write that component. Jobs that only read the same components can run in parallel. |
Returns
Type | Description |
---|---|
JobHandle | A handle that combines the current Job with previous dependencies identified by the |
Type Parameters
Name | Description |
---|---|
T | The specific IJobChunk implementation type. |
ScheduleSingle<T>(T, EntityQuery, JobHandle)
Adds an IJobChunk instance to the Job scheduler queue for sequential (non-parallel) execution.
Declaration
public static JobHandle ScheduleSingle<T>(this T jobData, EntityQuery query, JobHandle dependsOn = null)
where T : struct, IJobChunk
Parameters
Type | Name | Description |
---|---|---|
T | jobData | An IJobChunk instance. |
EntityQuery | query | The query selecting chunks with the necessary components. |
JobHandle | dependsOn | The handle identifying already scheduled Jobs that could constrain this Job. A Job that writes to a component must run before other Jobs that read or write that component. Jobs that only read the same components can run in parallel. |
Returns
Type | Description |
---|---|
JobHandle | A handle that combines the current Job with previous dependencies identified by the |
Type Parameters
Name | Description |
---|---|
T | The specific IJobChunk implementation type. |