Example #1
0
 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();
     }
 }
Example #2
0
        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));
        }