public static void EnsureSizeAndClear <T>(ref NativeListArray <T> array, int exactSize, Allocator allocator = Allocator.Temp) where T : unmanaged { if (!array.IsCreated || array.Capacity < exactSize) { if (array.IsCreated) { array.Dispose(); } array = new NativeListArray <T>(exactSize, allocator); } else { array.ClearChildren(); } array.ResizeExact(exactSize); }
public JobHandle Dispose(JobHandle dependency) { JobHandle lastJobHandle = default; if (meshDescriptions.IsCreated) { lastJobHandle = JobHandle.CombineDependencies(lastJobHandle, meshDescriptions.Dispose(dependency)); } if (subMeshSections.IsCreated) { lastJobHandle = JobHandle.CombineDependencies(lastJobHandle, subMeshSections.Dispose(dependency)); } if (meshes.IsCreated) { lastJobHandle = JobHandle.CombineDependencies(lastJobHandle, meshes.Dispose(dependency)); } if (triangleBrushIndices.IsCreated) { lastJobHandle = JobHandle.CombineDependencies(lastJobHandle, triangleBrushIndices.Dispose(dependency)); } if (renderDescriptors.IsCreated) { lastJobHandle = JobHandle.CombineDependencies(lastJobHandle, renderDescriptors.Dispose(dependency)); } if (colliderDescriptors.IsCreated) { lastJobHandle = JobHandle.CombineDependencies(lastJobHandle, colliderDescriptors.Dispose(dependency)); } meshDescriptions = default; subMeshSections = default; meshes = default; triangleBrushIndices = default; renderDescriptors = default; colliderDescriptors = default; return(lastJobHandle); }