public static unsafe JobHandle ScheduleFilter <T>(this T jobData, NativeList <int> indices, int innerloopBatchCount, JobHandle dependsOn = new JobHandle()) where T : struct, IJobParallelForFilter { JobStructProduce <T> .JobDataWithFiltering fullData = new JobStructProduce <T> .JobDataWithFiltering() { data = jobData, outputIndices = indices, appendCount = -1 }; var scheduleParams = new JobsUtility.JobScheduleParameters(UnsafeUtility.AddressOf(ref fullData), JobStructProduce <T> .Initialize(), dependsOn, ScheduleMode.Batched); return(JobsUtility.Schedule(ref scheduleParams)); }
unsafe static public JobHandle ScheduleFilter <T>(this T jobData, NativeList <int> indices, int innerloopBatchCount, JobHandle dependsOn = new JobHandle()) where T : struct, IJobParallelForFilter { JobStructProduce <T> .JobDataWithFiltering fullData; fullData.data = jobData; fullData.outputIndices = indices; fullData.appendCount = -1; #if UNITY_AVOID_REFLECTION JobStructProduce <T> job; job.FilteringData = fullData; return(job.Schedule(dependsOn)); #else var scheduleParams = new JobsUtility.JobScheduleParameters(UnsafeUtility.AddressOf(ref fullData), JobStructProduce <T> .Initialize(), dependsOn, ScheduleMode.Batched); return(JobsUtility.Schedule(ref scheduleParams)); #endif }