/// <summary> /// 下载AssetBundle /// </summary> /// <param name="url">请求的链接</param> /// <param name="action">发生的事件</param> /// <param name="method">请求的方式</param> /// <returns></returns> public static bool DownaloadAssetBundle(string url, RequestAssetBundleEvent action, string method = UnityWebRequest.kHttpVerbGET) { if (IsNull(url, action, action.action)) { return(true); } Instance.StartCoroutine(Instance.DownloadAssetBundleIEnumerator(url, method, action)); return(false); }
IEnumerator DownloadAssetBundleIEnumerator(string url, string method, RequestAssetBundleEvent action) { var request = new UnityWebRequest(url, method); var handler = new DownloadHandlerAssetBundle(request.url, uint.MaxValue); request.downloadHandler = handler; if (action.downloadProgress != null) { StartCoroutine(DownloadProgress(request, action.downloadProgress)); } yield return(request.SendWebRequest()); Dispose(request, () => { action.action(handler.assetBundle); }, action.error, action.error404, action.error500); }