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
        }
Exemplo n.º 2
0
    IEnumerator AskForCellularDataPermission()
    {
        var asyncOperation = PlayAssetDelivery.ShowCellularDataConfirmation();

        // Wait until user has confirmed or cancelled the dialog.
        yield return(asyncOperation);

        bool permissionAllow = asyncOperation.Error ==
                               AssetDeliveryErrorCode.NoError && asyncOperation.GetResult() ==
                               ConfirmationDialogResult.Accepted;

        if (permissionAllow)
        {
            yield return(new WaitUntil(() =>
                                       GetStatus() != AssetDeliveryStatus.WaitingForWifi));
        }
        didApproveCellularData       = permissionAllow;
        isCellularConfirmationActive = false;
    }
        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;
        }
Exemplo n.º 4
0
 public void ButtonEventShowCellularDialog()
 {
     PlayAssetDelivery.ShowCellularDataConfirmation();
 }