private JobHandle ScheduleMembershipDebugJob(JobHandle inputDeps) { var handle = inputDeps; var length = _membershipDebugGroup.CalculateLength(); if (length > 0) { handle = new MembershipDebugJob { EntityArray = _membershipDebugGroup.GetEntityArray(), PhysicsObject = _membershipDebugGroup.GetSharedComponentDataArray <PhysicsObject>()[0] }.Schedule(length, 64, inputDeps); } return(handle); }
private JobHandle ScheduleMembershipDebugJob(JobHandle inputDeps, List <PhysicsObject> uniquePhysicsObjects, ForEachComponentGroupFilter physicsObjectFilter) { var handles = new NativeArray <JobHandle>(physicsObjectFilter.Length, Allocator.Temp); for (int i = 0; i < physicsObjectFilter.Length; i++) { var entityArray = _membershipDebugGroup.GetEntityArray(physicsObjectFilter, i); handles[i] = new MembershipDebugJob { EntityArray = entityArray, PhysicsObject = uniquePhysicsObjects[i] }.Schedule(entityArray.Length, 64, inputDeps); } var combinedHandle = JobHandle.CombineDependencies(handles); handles.Dispose(); return(combinedHandle); }