public void Execute(int index) { var offsetPathEntity = OffsetPathEntities[index]; var rangeBuffer = OffsetPathRangeBuffers[offsetPathEntity]; var offsetPathBuffer = OffsetPathSampleBuffers[offsetPathEntity] .Reinterpret <RigidTransform>().AsNativeArray(); var placementPointBuffer = PlacementPointBuffers[offsetPathEntity].Reinterpret <RigidTransform>(); for (var i = 0; i < rangeBuffer.Length; i++) { var range = rangeBuffer[i]; var offsetPath = offsetPathBuffer.GetSubArray(range.StartIndex, range.SampleCount); var uniformSamples = SplineUtility.EvenlyDistributeSpline(offsetPath, Spacing, true, Allocator.Temp); placementPointBuffer.AddRange(uniformSamples); uniformSamples.Dispose(); } }