private void LoadDependenyBundleAsync(System.Action onLoadDone) { var assetBundleFileName = Name.Remove(0, PREFIX.Length); var dependBundles = Manifest.GetDirectDependencies(assetBundleFileName); if (dependBundles.Length == 0) { onLoadDone(); } var loadedCount = 0; foreach (var dependBundle in dependBundles) { mResLoader.LoadAsync <AssetBundle>("ab://" + dependBundle, (succeed, res) => { loadedCount++; if (loadedCount == dependBundles.Length) { onLoadDone(); } }); } }
void Start() { // mResLoader.Load<AssetBundle>("ab://coin_get"); // var coinGetPrefab = mResLoader.Load<GameObject>("coin_get_prefab", "coin_get"); // Instantiate(coinGetPrefab); mResLoader.LoadAsync <GameObject>("coin_get_prefab", "coin_get", (b, res) => { if (b) { Instantiate(res.Asset); Debug.Log(" res.RefCount" + res.RefCount); } }); }
public override void LoadAsync() { State = ResState.Loading; mResLoader.LoadAsync <AssetBundle>(AssetBundleRes.PREFIX + OwnerBundleName, (succeed, res) => { var bundle = res.Asset as AssetBundle; var assetRequest = bundle.LoadAssetAsync(Name, ResType); assetRequest.completed += operation => { Asset = assetRequest.asset; State = ResState.Loaded; DispatchOnLoadEvent(true); }; }); }