// Used by AssetStoreUtils public void OnDownloadProgress(string productId, string message, ulong bytes, ulong total) { DownloadProgress progress; if (!GetDownloadProgress(productId, out progress)) { if (productId.StartsWith(k_AssetStoreDownloadPrefix)) { productId = productId.Substring(k_AssetStoreDownloadPrefix.Length); } progress = new DownloadProgress(productId) { state = DownloadProgress.State.InProgress, errorMessage = string.Empty }; m_Downloads[AssetStoreCompatibleKey(productId)] = progress; } progress.current = bytes; progress.total = total; if (message == "ok") { progress.state = DownloadProgress.State.Completed; } else if (message == "connecting") { progress.state = DownloadProgress.State.Started; } else if (message == "downloading") { progress.state = DownloadProgress.State.InProgress; } else if (message == "decrypt") { progress.state = DownloadProgress.State.Decrypting; } else if (message == "aborted") { progress.state = DownloadProgress.State.Aborted; } else { progress.state = DownloadProgress.State.Error; progress.errorMessage = s_LocalizedDownloadErrorMessage; Debug.LogError(message); } onDownloadProgress?.Invoke(progress); }
private void OnDownloadProgress(IPackage package, DownloadProgress progress) { if (displayVersion?.packageUniqueId == package.uniqueId) { if (progress.state == DownloadProgress.State.Error || progress.state == DownloadProgress.State.Aborted) { downloadProgress.Hide(); RefreshErrorDisplay(); } else { downloadProgress.SetProgress(progress.total == 0 ? 0 : progress.current / (float)progress.total); } RefreshImportAndDownloadButtons(); } }
private void OnDownloadProgress(IPackage package, DownloadProgress progress) { var item = GetPackageItem(package); if (item != null) { if (progress.state == DownloadProgress.State.Completed || progress.state == DownloadProgress.State.Aborted || progress.state == DownloadProgress.State.Error) { item.StopSpinner(); item.SetPackage(package); } else { item.StartSpinner(); } } }
private void OnDownloadProgress(DownloadProgress progress) { var package = GetPackage(progress.packageId); if (package != null) { var hasError = progress.state == DownloadProgress.State.Error || progress.state == DownloadProgress.State.Aborted; if (hasError) { package.AddError(new Error(NativeErrorCode.Unknown, progress.message)); } if (progress.state == DownloadProgress.State.Completed) { AssetStore.AssetStoreClient.instance.Refresh(package); } onDownloadProgress?.Invoke(package, progress); } }
private void OnDownloadProgress(DownloadProgress progress) { var package = GetPackage(progress.productId); if (package != null) { var hasError = progress.state == DownloadProgress.State.Error || progress.state == DownloadProgress.State.Aborted; var completed = progress.state == DownloadProgress.State.Completed; if (hasError) { AddPackageError(package, new Error(NativeErrorCode.Unknown, progress.errorMessage)); } if (completed) { AssetStore.AssetStoreClient.instance.RefreshLocal(); } SetPackageProgress(package, hasError || completed ? PackageProgress.None : PackageProgress.Downloading); onDownloadProgress?.Invoke(package, progress); } }
public void Download(string productId) { DownloadProgress progress; if (GetDownloadProgress(productId, out progress)) { if (progress.state != DownloadProgress.State.Started && progress.state != DownloadProgress.State.InProgress && progress.state != DownloadProgress.State.Decrypting) { m_Downloads.Remove(AssetStoreCompatibleKey(productId)); AssetStoreDownloadOperation.instance.ClearDownloadInformation(productId); } else { onDownloadProgress?.Invoke(progress); return; } } progress = new DownloadProgress(productId); m_Downloads[AssetStoreCompatibleKey(productId)] = progress; onDownloadProgress?.Invoke(progress); var id = long.Parse(productId); AssetStoreDownloadOperation.instance.DownloadUnityPackageAsync(id, result => { progress.state = result.downloadState; if (result.downloadState == DownloadProgress.State.Error) { progress.errorMessage = result.errorMessage; } onDownloadProgress?.Invoke(progress); }); }
public bool GetDownloadProgress(string productId, out DownloadProgress progress) { progress = null; return(m_Downloads.TryGetValue(AssetStoreCompatibleKey(productId), out progress)); }