private IEnumerator AsyncDownloadAssetBundle(string uri, DownloadAssetBundleResponseCallBack callback, DownloadProgressCallBack progressCallback = null)
        {
            UnityWebRequest www = UnityWebRequestAssetBundle.GetAssetBundle(uri);
            AsyncOperation  aop = www.Send();

            while (!aop.isDone)
            {
                if (progressCallback != null)
                {
                    progressCallback(aop.progress);
                }

                yield return(new WaitForEndOfFrame());
            }

            if (www.isNetworkError)
            {
                Debug.LogError(www.error);
            }
            else
            {
                Debug.Log("[FSWebRequestManager] > Download Asset Bundle " + uri + " done...");
            }

            callback(((DownloadHandlerAssetBundle)www.downloadHandler).assetBundle);

            www = null;
        }
 public void DownloadAssetBundle(string uri, DownloadAssetBundleResponseCallBack callback, DownloadProgressCallBack progressCallback = null)
 {
     StartCoroutine(AsyncDownloadAssetBundle(uri, callback, progressCallback));
 }