AsyncOperationAwaiter.cs 430 B

123456789101112131415161718192021
  1. using System;
  2. using System.Runtime.CompilerServices;
  3. using UnityEngine;
  4. namespace UnityAsync.Awaiters
  5. {
  6. public struct AsyncOperationAwaiter : INotifyCompletion
  7. {
  8. readonly AsyncOperation op;
  9. public AsyncOperationAwaiter(AsyncOperation op)
  10. {
  11. this.op = op;
  12. }
  13. public void GetResult() { }
  14. public bool IsCompleted => op.isDone;
  15. public void OnCompleted(Action action) => op.completed += _ => action();
  16. }
  17. }