bool TryReturn()
 {
     TaskTracker.RemoveTracking(this);
     core.Reset();
     stateMachine = default;
     return(pool.TryPush(this));
 }
        public override bool TrySetCanceled()
        {
            if (Status == AwaiterStatus.Canceled) { return false; }

            TaskTracker.RemoveTracking(this);
            return base.TrySetCanceled();
        }
Example #3
0
 public UniTask DisposeAsync()
 {
     TaskTracker.RemoveTracking(this);
     if (enumerator != null)
     {
         return(enumerator.DisposeAsync());
     }
     return(default);
Example #4
0
 public UniTask DisposeAsync()
 {
     if (!disposed)
     {
         disposed = true;
         TaskTracker.RemoveTracking(this);
     }
     return(default);
Example #5
0
 internal void MarkHandled()
 {
     if (!handled)
     {
         handled = true;
         TaskTracker.RemoveTracking(this);
     }
 }
 public UniTask DisposeAsync()
 {
     if (!isDisposed)
     {
         isDisposed = true;
         TaskTracker.RemoveTracking(this);
         completionSource.TrySetCanceled(cancellationToken);
         parent.triggerEvent.Remove(this);
     }
     return(default);
Example #7
0
 public UniTask DisposeAsync()
 {
     TaskTracker.RemoveTracking(this);
     cancellationTokenRegistration1.Dispose();
     cancellationTokenRegistration2.Dispose();
     if (enumerator != null)
     {
         return(enumerator.DisposeAsync());
     }
     return(default);
 bool TryReturn()
 {
     TaskTracker.RemoveTracking(this);
     core.Reset();
     cancellationTokenRegistration.Dispose();
     cancellationTokenRegistration = default;
     parent.triggerEvent.Remove(this);
     parent            = null;
     cancellationToken = default;
     return(pool.TryPush(this));
 }
            public UniTask DisposeAsync()
            {
                if (!isDisposed)
                {
                    isDisposed = true;
                    TaskTracker.RemoveTracking(this);
                    registration.Dispose();
                    parent.RemoveHandler(this);
                }

                return(default);
Example #10
0
            public UniTask DisposeAsync()
            {
                if (!isDisposed)
                {
                    isDisposed = true;
                    TaskTracker.RemoveTracking(this);
                    cancellationTokenRegistration.Dispose();
                    parent.trigger.Remove(this);
                }

                return(default);
Example #11
0
 public async UniTask DisposeAsync()
 {
     TaskTracker.RemoveTracking(this);
     if (selectedEnumerator != null)
     {
         await selectedEnumerator.DisposeAsync();
     }
     if (sourceEnumerator != null)
     {
         await sourceEnumerator.DisposeAsync();
     }
 }
Example #12
0
			void InvokeContinuation(AwaiterStatus status) {
				this.status = status;
				var cont = this.continuation;

				// cleanup
				TaskTracker.RemoveTracking(this);
				this.continuation = null;
				this.cancellationToken = CancellationToken.None;
				this.innerEnumerator = null;

				if (cont != null) cont.Invoke();
			}
Example #13
0
			void InvokeContinuation(AwaiterStatus status) {
				this.status = status;
				var cont = this.continuation;

				// cleanup
				TaskTracker.RemoveTracking(this);
				this.continuation = null;
				this.cancellationToken = CancellationToken.None;
				this.jobHandle = default(JobHandle);

				if (cont != null) cont.Invoke();
			}
            public UniTask DisposeAsync()
            {
                if (!isDisposed)
                {
                    isDisposed = true;
                    TaskTracker.RemoveTracking(this);
                    registration1.Dispose();
                    registration2.Dispose();
                    unityEvent.RemoveListener(unityAction);
                }

                return(default);
Example #15
0
 public void Dispose()
 {
     if (!isDisposed)
     {
         isDisposed = true;
         TaskTracker.RemoveTracking(this);
         registration.Dispose();
         if (unityEvent != null)
         {
             unityEvent.RemoveListener(action);
         }
     }
 }
            void InvokeContinuation(AwaiterStatus status)
            {
                this.status = status;
                var cont = this.continuation;
                // cleanup
                TaskTracker.RemoveTracking(this);
                this.continuation = null;
                this.cancellationToken = CancellationToken.None;
                this.progress = null;
                this.asyncOperation = null;

                if (cont != null) { cont.Invoke(); }
            }
 public void Dispose()
 {
     if (!isDisposed)
     {
         isDisposed = true;
         TaskTracker.RemoveTracking(this);
         registration.Dispose();
         if (unityEvent != null)
         {
             unityEvent.RemoveListener(action);
         }
         core.TrySetCanceled(cancellationToken);
     }
 }
            private void InvokeContinuation(AwaiterStatus awaiterStatus)
            {
                status = awaiterStatus;
                var handle       = asyncOperationHandle;
                var continuation = continuationAction;

                // cleanup
                TaskTracker.RemoveTracking(this);
                continuationAction   = null;
                cancellationToken    = CancellationToken.None;
                progress             = null;
                asyncOperationHandle = default;

                continuation?.Invoke(handle);
            }
Example #19
0
            private void InvokeContinuation(AwaiterStatus status)
            {
                Status = status;
                var cont = continuation;

                // cleanup
                TaskTracker.RemoveTracking(this);
                continuation      = null;
                cancellationToken = CancellationToken.None;
                innerEnumerator   = null;

                if (cont != null)
                {
                    cont.Invoke();
                }
            }
 public void Return()
 {
     TaskTracker.RemoveTracking(this);
     stateMachine = default;
     pool.TryPush(this);
 }
 public UniTask DisposeAsync()
 {
     TaskTracker.RemoveTracking(this);
     return(default);