internal PlayAsyncOperation <long, AssetDeliveryErrorCode> GetDownloadSizeInternal(string assetBundleName) { var operation = new AssetDeliveryAsyncOperation <long>(); if (IsInstallTimeAssetBundle(assetBundleName)) { operation.SetResult(0L); return(operation); } var task = _assetPackManager.GetPackStates(assetBundleName); task.RegisterOnSuccessCallback(javaPackState => { var assetPacks = new AssetPackStates(javaPackState); operation.SetResult(assetPacks.TotalBytes); task.Dispose(); }); task.RegisterOnFailureCallback((message, errorCode) => { operation.SetError(PlayCoreTranslator.TranslatePlayCoreErrorCode(errorCode)); task.Dispose(); }); return(operation); }
internal PlayAsyncOperation <VoidResult, AssetDeliveryErrorCode> RemoveAssetPackInternal( string assetBundleName) { var operation = new AssetDeliveryAsyncOperation <VoidResult>(); var task = _assetPackManager.RemovePack(assetBundleName); task.RegisterOnSuccessCallback(javaPackState => { operation.SetResult(new VoidResult()); task.Dispose(); }); task.RegisterOnFailureCallback((message, errorCode) => { operation.SetError(AssetDeliveryErrorCode.InternalError); task.Dispose(); }); return(operation); }
ShowCellularDataConfirmationInternal() { var requests = _requestRepository.GetRequestsWithStatus(AssetDeliveryStatus.WaitingForWifi); if (requests.Count == 0) { throw new Exception("There are no active requests waiting for wifi."); } var task = _assetPackManager.ShowCellularDataConfirmation(); var operation = new AssetDeliveryAsyncOperation <ConfirmationDialogResult>(); task.RegisterOnSuccessCallback(resultCode => { operation.SetResult(ConvertToConfirmationDialogResult(resultCode)); task.Dispose(); }); task.RegisterOnFailureCallback((message, errorCode) => { operation.SetError(PlayCoreTranslator.TranslatePlayCoreErrorCode(errorCode)); task.Dispose(); }); return(operation); }