ResourceRequestAwaiter.cs 485 B

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