protected override void BeginOperationImpl(string assetPackName) { Debug.LogFormat("[{0}.{1}] assetPackName={2}", nameof(AssetPackAsyncAssetBundleResourceHandler), nameof(BeginOperation), assetPackName); playAssetPackRequest = PlayAssetDelivery.RetrieveAssetPackAsync(assetPackName); if (playAssetPackRequest.IsDone) { OnPlayAssetPackRequestCompleted(assetPackName, playAssetPackRequest); return; } playAssetPackRequest.Completed += request => OnPlayAssetPackRequestCompleted(assetPackName, request); }
public void StartDownload() { if (isSingleAssetBundlePack && assetBundleRequest == null) { assetBundleRequest = PlayAssetDelivery.RetrieveAssetBundleAsync( assetPackName); } else if (!isSingleAssetBundlePack && assetPackRequest == null) { assetPackRequest = PlayAssetDelivery.RetrieveAssetPackAsync( assetPackName); } }
protected override void BeginOperationImpl(string assetPackName) { Debug.LogFormat("[{0}.{1}] assetPackName={2}", nameof(AssetPackSyncAssetBundleResourceHandler), nameof(BeginOperation), assetPackName); playAssetPackRequest = PlayAssetDelivery.RetrieveAssetPackAsync(assetPackName); if (!playAssetPackRequest.IsDone) { CompleteOperation(this, $"Asset Pack was not retrieved Synchronously: '{assetPackName}'."); return; } var assetLocation = playAssetPackRequest.GetAssetLocation(assetPackName); var assetBundle = AssetBundle.LoadFromFile(assetLocation.Path, 0, assetLocation.Offset); CompleteOperation(this, assetBundle); }
private IEnumerator DownloadAssetPackCo() { #if PLAY_ASSET_DELIVERY_EXPERIMENTAL _request = PlayAssetDelivery.RetrieveAssetPackAsync(AssetPackName); _requestInProgress = true; while (!_request.IsDone) { if (_request.Status == AssetDeliveryStatus.WaitingForWifi) { // Wait until user has confirmed or cancelled the dialog. var asyncOperation = PlayAssetDelivery.ShowCellularDataConfirmation(); yield return(asyncOperation); if (asyncOperation.Error != AssetDeliveryErrorCode.NoError || asyncOperation.GetResult() != ConfirmationDialogResult.Accepted) { // Provide a button to re-show the dialog in case user changes their mind. Display.SetStatus(_request.Status, _request.Error); } yield return(new WaitUntil(() => _request.Status != AssetDeliveryStatus.WaitingForWifi)); } Display.SetProgress(_request.DownloadProgress); Display.SetStatus(_request.Status, _request.Error); yield return(null); } Display.SetProgress(_request.DownloadProgress); Display.SetStatus(_request.Status, _request.Error); if (_request.Error != AssetDeliveryErrorCode.NoError) { Debug.LogErrorFormat("Couldn't load asset pack: {0}", _request.Error); _request = null; } _requestInProgress = false; #else // Assign values to avoid unassigned variable warning. _request = null; _requestInProgress = false; throw new Exception("Experimental Play Asset Delivery methods are disabled."); #endif }
private void BeginOperation(string assetPackName) { Debug.LogFormat("[{0}.{1}] assetPackName={2}", nameof(AssetPackBundleSyncResource), nameof(BeginOperation), assetPackName); playAssetPackRequest = PlayAssetDelivery.RetrieveAssetPackAsync(assetPackName); Exception exception = null; if (playAssetPackRequest.IsDone) { var assetLocation = playAssetPackRequest.GetAssetLocation(assetPackName); assetBundle = AssetBundle.LoadFromFile(assetLocation.Path, /* crc= */ 0, assetLocation.Offset); } else { exception = new Exception($"Asset Pack was not retrieved Synchronously: '{assetPackName}'."); } CompletedEvent?.Invoke(this, assetBundle != null, exception); }
private IEnumerator DownloadAssetPackCo() { _request = PlayAssetDelivery.RetrieveAssetPackAsync(AssetPackName); _requestInProgress = true; while (!_request.IsDone) { if (_request.Status == AssetDeliveryStatus.WaitingForWifi) { // Wait until user has confirmed or cancelled the dialog. var asyncOperation = PlayAssetDelivery.ShowCellularDataConfirmation(); yield return(asyncOperation); if (asyncOperation.Error != AssetDeliveryErrorCode.NoError || asyncOperation.GetResult() != ConfirmationDialogResult.Accepted) { // Provide a button to re-show the dialog in case user changes their mind. Display.SetStatus(_request.Status, _request.Error); } yield return(new WaitUntil(() => _request.Status != AssetDeliveryStatus.WaitingForWifi)); } Display.SetProgress(_request.DownloadProgress); Display.SetStatus(_request.Status, _request.Error); yield return(null); } Display.SetProgress(_request.DownloadProgress); Display.SetStatus(_request.Status, _request.Error); if (_request.Error != AssetDeliveryErrorCode.NoError) { Debug.LogErrorFormat("Couldn't load asset pack: {0}", _request.Error); _request = null; } _requestInProgress = false; }
private void BeginOperation(string assetPackName) { Debug.LogFormat("[{0}.{1}] assetPackName={2}", nameof(AssetPackBundleAsyncResource), nameof(BeginOperation), assetPackName); playAssetPackRequest = PlayAssetDelivery.RetrieveAssetPackAsync(assetPackName); playAssetPackRequest.Completed += request => OnPlayAssetPackRequestCompleted(assetPackName, request); }