public static void DisposeRefTarget <T>(this NativeRef <T> nativeRef, bool DisposeSelf = true) where T : unmanaged, IDisposable { nativeRef.AsRef.Dispose(); nativeRef.AsRef = default; if (DisposeSelf) { nativeRef.Dispose(); } }
public static JobHandle DisposeRefTarget <T>(this NativeRef <T> nativeRef, JobHandle dependsOn, bool DisposeSelf = true) where T : unmanaged, IDisposable { var targetJob = new DisposeInJob <T>(nativeRef.AsRef).Schedule(dependsOn); nativeRef.AsRef = default; if (DisposeSelf) { dependsOn = nativeRef.Dispose(dependsOn); } return(JobHandle.CombineDependencies(targetJob, dependsOn)); }