protected override JobHandle OnUpdate(JobHandle inputDeps) { var transforms = m_InitialTransformGroup.GetTransformAccessArray(); var entities = m_InitialTransformGroup.ToEntityArray(Allocator.TempJob); var transformStashes = new NativeArray <TransformStash>(transforms.length, Allocator.TempJob); var stashTransformsJob = new StashTransforms { transformStashes = transformStashes }; var stashTransformsJobHandle = stashTransformsJob.Schedule(transforms, inputDeps); var copyTransformsJob = new CopyTransforms { transformStashes = transformStashes, }; var copyTransformsJobHandle = copyTransformsJob.ScheduleGroup(m_InitialTransformGroup, stashTransformsJobHandle); var removeComponentsJob = new RemoveCopyInitialTransformFromGameObjectComponent { entities = entities, entityCommandBuffer = m_EntityCommandBufferSystem.CreateCommandBuffer() }; var removeComponentsJobHandle = removeComponentsJob.Schedule(copyTransformsJobHandle); m_EntityCommandBufferSystem.AddJobHandleForProducer(removeComponentsJobHandle); return(removeComponentsJobHandle); }
protected override JobHandle OnUpdate(JobHandle inputDeps) { var transforms = m_TransformGroup.GetTransformAccessArray(); var transformStashes = new NativeArray <TransformStash>(transforms.length, Allocator.TempJob); var stashTransformsJob = new StashTransforms { transformStashes = transformStashes }; var stashTransformsJobHandle = stashTransformsJob.Schedule(transforms, inputDeps); var copyTransformsJob = new CopyTransforms { transformStashes = transformStashes, }; return(copyTransformsJob.ScheduleGroup(m_TransformGroup, stashTransformsJobHandle)); }