public override AssetRequest <TAsset> LoadAsync <TAsset>(string deviceList, ref ContentManifest.AssetEntry entry, AssetLoadedHandler <TAsset> handler = null) { AssetBundleCreateWrapper assetBundleCreateWrapper = new AssetBundleCreateWrapper(null); AsyncBundleCreateRequest <TAsset> result = new AsyncBundleCreateRequest <TAsset>(entry.Key, assetBundleCreateWrapper); CoroutineRunner.StartPersistent(waitForBundleToCreate(entry.Key, assetBundleCreateWrapper, handler), this, "waitForBundleToCreate"); return(result); }
private IEnumerator waitForBundleToCreate <TAsset>(string key, AssetBundleCreateWrapper bundleRequest, AssetLoadedHandler <TAsset> handler) where TAsset : class { AssetBundleCreateRequest bundleLoadRequest = (AssetBundleCreateRequest)(bundleRequest.MutableOperation = AssetBundle.LoadFromFileAsync(key)); yield return(bundleLoadRequest); AssetBundle bundle = bundleLoadRequest.assetBundle; if (bundle == null) { Log.LogError(this, "Failed to load asset bundle:" + key); } }