AllAssetsProvider.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. 
  2. namespace YooAsset
  3. {
  4. internal sealed class AllAssetsProvider : ProviderOperation
  5. {
  6. private FSLoadAllAssetsOperation _loadAllAssetsOp;
  7. public AllAssetsProvider(ResourceManager manager, string providerGUID, AssetInfo assetInfo) : base(manager, providerGUID, assetInfo)
  8. {
  9. }
  10. protected override void ProcessBundleResult()
  11. {
  12. if (_loadAllAssetsOp == null)
  13. {
  14. _loadAllAssetsOp = BundleResultObject.LoadAllAssetsAsync(MainAssetInfo);
  15. _loadAllAssetsOp.StartOperation();
  16. AddChildOperation(_loadAllAssetsOp);
  17. }
  18. if (IsWaitForAsyncComplete)
  19. _loadAllAssetsOp.WaitForAsyncComplete();
  20. _loadAllAssetsOp.UpdateOperation();
  21. Progress = _loadAllAssetsOp.Progress;
  22. if (_loadAllAssetsOp.IsDone == false)
  23. return;
  24. if (_loadAllAssetsOp.Status != EOperationStatus.Succeed)
  25. {
  26. InvokeCompletion(_loadAllAssetsOp.Error, EOperationStatus.Failed);
  27. }
  28. else
  29. {
  30. AllAssetObjects = _loadAllAssetsOp.Result;
  31. InvokeCompletion(string.Empty, EOperationStatus.Succeed);
  32. }
  33. }
  34. }
  35. }