示例#1
0
        public static unsafe JobHandle ScheduleTest <T>(this T jobData, NativeArray <byte> dataForProducer, JobHandle dependsOn = new JobHandle()) where T : struct, IJobTest
        {
            JobTestWrapper <T> jobTestWrapper = new JobTestWrapper <T>
            {
                JobData = jobData,
                ProducerResourceToClean = dataForProducer
            };

            var scheduleParams = new JobsUtility.JobScheduleParameters(
                UnsafeUtility.AddressOf(ref jobTestWrapper),
                JobTestProducer <T> .Initialize(),
                dependsOn,
#if UNITY_2020_2_OR_NEWER
                ScheduleMode.Parallel
#else
                ScheduleMode.Batched
#endif
                );

            return(JobsUtility.Schedule(ref scheduleParams));
        }
示例#2
0
 public unsafe static void Execute(ref JobTestWrapper <T> jobWrapper, IntPtr additionalPtr, IntPtr bufferRangePatchData, ref JobRanges ranges, int jobIndex)
 {
     jobWrapper.JobData.Execute();
 }