public void RemoveDownloadIndex(string indexNames, DownloadType type) { FCIndexDownloadInfo targetDownloadInfo = downloadList.Find(delegate(FCIndexDownloadInfo obj) { if (indexNames == obj.IndexDownloadName && type == obj.IndexDownloadType) { return(true); } else { return(false); } }); if (targetDownloadInfo != null) { downloadList.Remove(targetDownloadInfo); } if (curDownloadingIndex != null && curDownloadingIndex.IndexDownloadName == indexNames && curDownloadingIndex.IndexDownloadType == type) { curDownloadingIndex = null; } }
public void RemoveAllDownloads(DownloadType type) { downloadList.RemoveAll(delegate(FCIndexDownloadInfo obj) { return(obj.IndexDownloadType == type); }); curDownloadingIndex = null; }
// Update is called once per frame void Update() { if (!IsDownloadManagerInited || DCInfoCache == null || !DCInfoCache.Ready) { return; } if (curDownloadingIndex == null && downloadList.Count > 0) { curDownloadingIndex = downloadList[0]; StartDownloadIndex(curDownloadingIndex); } }
public void AddDownloadIndex(string[] indexNames, DownloadType type) { foreach (string targetIndexName in indexNames) { if (!downloadList.Exists(delegate(FCIndexDownloadInfo obj) { return(obj.IndexDownloadName == targetIndexName); })) { FCIndexDownloadInfo newInfo = new FCIndexDownloadInfo(targetIndexName, type); downloadList.Add(newInfo); Debug.Log("FCdonwload mananger add new index: " + newInfo.IndexDownloadName); } } }
private void StartDownloadIndex(FCIndexDownloadInfo info) { DynamicContent.OnSuccess = delegate { if (info.IndexDownloadType == DownloadType.DT_Background) { AddIndexIntoStorageList(info.IndexDownloadName); } if (OnDownloadSuccess != null) { OnDownloadSuccess(curDownloadingIndex); } if (!downloadedIndexList.Contains(info)) { downloadedIndexList.Add(info); } curDownloadingIndex = null; downloadList.RemoveAt(0); if (downloadList.Count == 0 && OnAllDownloadFinished != null) { OnAllDownloadFinished(); } }; DynamicContent.OnFail = delegate { if (info.IndexDownloadType == DownloadType.DT_Background) { } if (OnDownloadFailed != null) { OnDownloadFailed(curDownloadingIndex); } }; if (OnStartNewDownload != null) { OnStartNewDownload(curDownloadingIndex); } //DynamicContent.Init(URL_TO_AMAZON_S3); DynamicContentParam param = new DynamicContentParam(); param.SpecialIndexName = curDownloadingIndex.IndexDownloadName; param.IsAddonContent = false; param.DCInfoCache = DCInfoCache; param.TargetIndexDownloadInfo = curDownloadingIndex; DynamicContent.StartContentUpdate(param); }
public float UpdateDownloadingProgress(string[] indexNames, bool isCheckCacheLoad) { List <FCIndexDownloadInfo> targetList = new List <FCIndexDownloadInfo>(); List <FCIndexDownloadInfo> downloadedList = new List <FCIndexDownloadInfo>(); foreach (string curIndexName in indexNames) { FCIndexDownloadInfo info = downloadList.Find(delegate(FCIndexDownloadInfo obj) { return(obj.IndexDownloadName == curIndexName); }); if (info != null) { targetList.Add(info); continue; } info = downloadedIndexList.Find(delegate(FCIndexDownloadInfo obj) { return(obj.IndexDownloadName == curIndexName); }); if (info != null) { downloadedList.Add(info); continue; } } int indexFinished = downloadedList.Count; //indexNames.Length - targetList.Count; float percentagePerIndex = MaxPercentage / indexNames.Length; float totalPercentage = indexFinished * percentagePerIndex; foreach (FCIndexDownloadInfo curIndexInfo in targetList) { float totalAssetBundleFinished = 0.0f; if (curIndexInfo.IndexDownloadInfo == null || curIndexInfo.IndexDownloadInfo.assetBundleInfo.Length == 0) { continue; } foreach (InJoy.AssetBundles.AssetBundleInfo curBundleInfo in curIndexInfo.IndexDownloadInfo.assetBundleInfo) { if (!isCheckCacheLoad) { if (curBundleInfo.downloadInfo.CurDownloadSource == DownloadManager.Download.DownloadSource.Online) { totalAssetBundleFinished += curBundleInfo.downloadInfo.ReceivingProgress; } } else { totalAssetBundleFinished += curBundleInfo.downloadInfo.ReceivingProgress; } } float indexFinishedPercentage = totalAssetBundleFinished / curIndexInfo.IndexDownloadInfo.assetBundleInfo.Length; totalPercentage += percentagePerIndex * indexFinishedPercentage; } //Debug.Log("Download Index Count : " + indexNames.Length); //Debug.Log("Download Percentage : " + totalPercentage); return(totalPercentage); }
public void RestartAllDownloads() { curDownloadingIndex = null; }