Hi,
If I am not wrong the method ScheduleGroupSingle runs in parallel because of innerloopBatchCount sets to 1.
Actually
public static JobHandle ScheduleGroupSingle<T>(this T jobData, ComponentGroup componentGroup, JobHandle dependsOn = default(JobHandle))
where T : struct, IBaseJobProcessComponentData
{
var typeT = typeof(T);
if (typeof(IBaseJobProcessComponentData_D).IsAssignableFrom(typeT))
return ScheduleInternal_D(ref jobData, null, componentGroup, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_ED).IsAssignableFrom(typeT))
return ScheduleInternal_ED(ref jobData, null, componentGroup, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_DD).IsAssignableFrom(typeT))
return ScheduleInternal_DD(ref jobData, null, componentGroup, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_EDD).IsAssignableFrom(typeT))
return ScheduleInternal_EDD(ref jobData, null, componentGroup, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_DDD).IsAssignableFrom(typeT))
return ScheduleInternal_DDD(ref jobData, null, componentGroup, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_EDDD).IsAssignableFrom(typeT))
return ScheduleInternal_EDDD(ref jobData, null, componentGroup, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_DDDD).IsAssignableFrom(typeT))
return ScheduleInternal_DDDD(ref jobData, null, componentGroup, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_EDDDD).IsAssignableFrom(typeT))
return ScheduleInternal_EDDDD(ref jobData, null, componentGroup, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_DDDDD).IsAssignableFrom(typeT))
return ScheduleInternal_DDDDD(ref jobData, null, componentGroup, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_EDDDDD).IsAssignableFrom(typeT))
return ScheduleInternal_EDDDDD(ref jobData, null, componentGroup, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_DDDDDD).IsAssignableFrom(typeT))
return ScheduleInternal_DDDDDD(ref jobData, null, componentGroup, 1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_EDDDDDD).IsAssignableFrom(typeT))
return ScheduleInternal_EDDDDDD(ref jobData, null, componentGroup, 1, dependsOn, ScheduleMode.Batched);
throw new System.ArgumentException("Not supported");
}
But need to be
public static JobHandle ScheduleGroupSingle<T>(this T jobData, ComponentGroup componentGroup, JobHandle dependsOn = default(JobHandle))
where T : struct, IBaseJobProcessComponentData
{
var typeT = typeof(T);
if (typeof(IBaseJobProcessComponentData_D).IsAssignableFrom(typeT))
return ScheduleInternal_D(ref jobData, null, componentGroup, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_ED).IsAssignableFrom(typeT))
return ScheduleInternal_ED(ref jobData, null, componentGroup, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_DD).IsAssignableFrom(typeT))
return ScheduleInternal_DD(ref jobData, null, componentGroup, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_EDD).IsAssignableFrom(typeT))
return ScheduleInternal_EDD(ref jobData, null, componentGroup, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_DDD).IsAssignableFrom(typeT))
return ScheduleInternal_DDD(ref jobData, null, componentGroup, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_EDDD).IsAssignableFrom(typeT))
return ScheduleInternal_EDDD(ref jobData, null, componentGroup, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_DDDD).IsAssignableFrom(typeT))
return ScheduleInternal_DDDD(ref jobData, null, componentGroup, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_EDDDD).IsAssignableFrom(typeT))
return ScheduleInternal_EDDDD(ref jobData, null, componentGroup, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_DDDDD).IsAssignableFrom(typeT))
return ScheduleInternal_DDDDD(ref jobData, null, componentGroup, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_EDDDDD).IsAssignableFrom(typeT))
return ScheduleInternal_EDDDDD(ref jobData, null, componentGroup, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_DDDDDD).IsAssignableFrom(typeT))
return ScheduleInternal_DDDDDD(ref jobData, null, componentGroup, -1, dependsOn, ScheduleMode.Batched);
if (typeof(IBaseJobProcessComponentData_EDDDDDD).IsAssignableFrom(typeT))
return ScheduleInternal_EDDDDDD(ref jobData, null, componentGroup, -1, dependsOn, ScheduleMode.Batched);
throw new System.ArgumentException("Not supported");
}