/// <summary> /// 获取AssetBundle /// </summary> /// <param name="assetBundleName"></param> /// <param name="action"></param> public void GetLoadedBundle(string assetBundleName, Action <AssetBundle> action) { string error = string.Empty; AssetBundle ab = BundleManager.GetLoadedBundle(assetBundleName, out error); if (ab == null) { Log.Info(error); Runtime.CoroutineHelper.Instance.StartCoroutine(BundleManager.StartDownloadBundle(assetBundleName, action)); } else { action.Invoke(ab); } }
/// <summary> /// 利用协成开始下载AssetBundle /// </summary> /// <returns></returns> public static IEnumerator StartDownloadBundle(string bundleName, Action <AssetBundle> back) { while (m_IsMultiDownloading) { yield return(null); } AddMultiDownloadBundleQueue(bundleName); IEnumerator e = StartMultiDownloadBundle(); while (e.MoveNext()) { yield return(null); } string error = string.Empty; AssetBundle ab = BundleManager.GetLoadedBundle(bundleName, out error); if (ab == null) { Log.Info(error); } back.Invoke(ab); }