예제 #1
0
        private void ReadyLoaderAndPreloader()
        {
            // initialize AssetBundleLoader.
            {
                AssetBundleLoader.HttpResponseHandlingDelegate httpResponseHandlingDel = (p1, p2, p3, p4, p5, p6, p7) => {
                    httpResponseHandlingDelegate(p1, p2, p3, p4, p5, p6, p7);
                };
                AssetBundleLoader.AssetBundleGetRequestHeaderDelegate assetBundleGetRequestHeaderDel = (p1, p2) => {
                    return(assetBundleGetRequestHeaderDelegate(p1, p2));
                };

                _assetBundleLoader = new AssetBundleLoader(GetAssetBundleListVersionedBasePath(AssetBundlesSettings.ASSETBUNDLES_URL_DOWNLOAD_ASSET), _currentAssetBundleList, assetBundleGetRequestHeaderDel, httpResponseHandlingDel);
            }

            // initialize AssetBundlePreloader.
            {
                AssetBundlePreloader.HttpResponseHandlingDelegate httpResponseHandlingDel = (p1, p2, p3, p4, p5, p6, p7) => {
                    httpResponseHandlingDelegate(p1, p2, p3, p4, p5, p6, p7);
                };
                AssetBundlePreloader.AssetBundleGetRequestHeaderDelegate assetBundleGetRequestHeaderDel = (p1, p2) => {
                    return(assetBundleGetRequestHeaderDelegate(p1, p2));
                };

                _assetBundlePreloader = new AssetBundlePreloader(assetBundleGetRequestHeaderDel, httpResponseHandlingDel);
            }
        }
예제 #2
0
        IEnumerator PreloadAsync(AssetStep step, AssetLanguage language)
        {
            asset.SetResrouceTable(step, language);
            while (!asset.Resource.IsTableLoaded)
            {
                yield return(null);
            }

            bool isPreloaded = false;

            asset.Resource.LoadPrefab("Loading.prefab", (Loading prefab) =>
            {
                var loading = Instantiate <Loading>(prefab);
                AssetBundlePreloader preloader = asset.GetResourcePreloader();
                preloader.StartPreloading();
                loading.Init(preloader, () =>
                {
                    Destroy(loading.gameObject);
                    isPreloaded = true;
                });
            });
            while (!isPreloaded)
            {
                yield return(null);
            }
        }
예제 #3
0
        IEnumerator PrepareTitleAssets()
        {
            yield return(Game.AssetCaller.SetResrouceTable(AssetStep.Title, AssetLanguage.Japanese));

            AssetBundlePreloader titlePreloader = Game.AssetCaller.GetResourcePreloader();

            titlePreloader.StartPreloading();
            while (!titlePreloader.IsFinished)
            {
                yield return(null);
            }
        }
        private void ReadyLoaderAndPreloader(AssetBundleList list)
        {
            // initialize/reload AssetBundleLoader.
            {
                if (_assetBundleLoader == null)
                {
                    AssetBundleLoader.HttpResponseHandlingDelegate httpResponseHandlingDel = (p1, p2, p3, p4, p5, p6, p7) =>
                    {
                        httpResponseHandlingDelegate(p1, p2, p3, p4, p5, p6, p7);
                    };

                    AssetBundleLoader.AssetBundleGetRequestHeaderDelegate assetBundleGetRequestHeaderDel = (p1, p2) =>
                    {
                        return(assetBundleGetRequestHeaderDelegate(p1, p2));
                    };

                    _assetBundleLoader = new AssetBundleLoader(OnAssetBundleDownloadUrlRequired, assetBundleGetRequestHeaderDel, httpResponseHandlingDel);
                }

                _assetBundleLoader.UpdateAssetBundleList(list);
            }

            // initialize AssetBundlePreloader.
            {
                if (_assetBundlePreloader != null)
                {
                    // do nothing.
                }
                else
                {
                    AssetBundlePreloader.HttpResponseHandlingDelegate httpResponseHandlingDel = (p1, p2, p3, p4, p5, p6, p7) =>
                    {
                        httpResponseHandlingDelegate(p1, p2, p3, p4, p5, p6, p7);
                    };

                    AssetBundlePreloader.PreloadListGetRequestHeaderDelegate assetBundleGetRequestHeaderDel = (p1, p2) =>
                    {
                        return(assetBundlePreloadListGetRequestHeaderDelegate(p1, p2));
                    };

                    _assetBundlePreloader = new AssetBundlePreloader(assetBundleGetRequestHeaderDel, httpResponseHandlingDel);
                }
            }
        }
예제 #5
0
        IEnumerator OnStartButtonClickedAsync()
        {
            OverlayUiOperator loadingUiOperator = Game.Scene.ShowLoading();

            yield return(Game.AssetCaller.SetResrouceTable(AssetStep.All, AssetLanguage.Japanese));

            AssetBundlePreloader preloader = Game.AssetCaller.GetResourcePreloader();

            preloader.StartPreloading();

            if (preloader.MaxAssetBundleCount > 0)
            {
                Game.Scene.LoadDownload(
                    ss => ss.Ui.Init(preloader, LoadFirstScene),
                    loadingUiOperator);
            }
            else
            {
                LoadFirstScene(loadingUiOperator);
            }
        }
예제 #6
0
    public IEnumerator Setup()
    {
        assetBundlePreloader = new AssetBundlePreloader();

        var loaderTestObj = new AssetBundleLoaderTests();
        var listCor       = loaderTestObj.LoadListFromWeb(abListPath);

        yield return(listCor);

        var assetBundleList = listCor.Current as AssetBundleList;

        loader = new AssetBundleLoader(identity => abDlPath + assetBundleList.version + "/");
        loader.UpdateAssetBundleList(assetBundleList);


        var cleaned = loader.CleanCachedAssetBundles();

        if (!cleaned)
        {
            Fail("clean cache failed 1.");
        }
    }
예제 #7
0
 public void Init(AssetBundlePreloader assetBundlePreloader, Action <OverlayUiOperator> onDownloaded)
 {
     this.assetBundlePreloader = assetBundlePreloader;
     this.onDownloaded         = onDownloaded;
 }
예제 #8
0
 public void Init(AssetBundlePreloader preloader, Action onFinished)
 {
     this.preloader = preloader;
     StartCoroutine(CountUp(onFinished));
 }
 [MSetup] public void Setup()
 {
     assetBundlePreloader = new AssetBundlePreloader(preloadListBaseURLPath);
 }