Esempio n. 1
0
    IEnumerator CreateLoadResource(Action <AssetBundlerMultiplier> finishAction, List <int> categories = null)
    {
        AssetBundlerMultiplier mlutiplier = AssetBundlerMultiplier.Create();

        if (categories != null && categories.Count > 0)
        {
            for (int i = 0; i < categories.Count; i++)
            {
                List <MasterDataAssetBundlePath> assetBundlePathList = MasterFinder <MasterDataAssetBundlePath> .Instance.
                                                                       SelectWhere(" where category = ? ", categories[i]);

#if BUILD_TYPE_DEBUG
                Debug.Log("CALL SceneTitle#LoadTitleDownload Count:" + assetBundlePathList.Count);
#endif
                yield return(null);

                for (int j = 0; j < assetBundlePathList.Count; j++)
                {
                    AssetBundler aber = AssetBundler.Create().Set(assetBundlePathList[j].name.ToLower()).SkipCreateCache();
                    mlutiplier.Add(aber);
                    yield return(null);
                }
                ;
            }

            yield return(null);
        }

        yield return(UnitIconImageProvider.Instance.LoadIconPacks(mlutiplier));

        yield return(null);

        yield return(ReplaceAssetManager.Instance.downloadReplaceAssetbundle(mlutiplier));

        yield return(null);

        yield return(AreaBackgroundProvider.Instance.PreLoadAreaBackground(mlutiplier));

        yield return(null);

        yield return(GeneralWindowProvider.Instance.PreLoad(mlutiplier));

        yield return(null);


        mlutiplier.RegisterProgressAction(
            (float progress) =>
        {
            float progressPercent = progress * 100;
            LoadingManager.Instance.Progress(progressPercent);
            if (MovieManager.Instance != null)
            {
                MovieManager.Instance.setPercent(progressPercent);
            }
        });

        finishAction(mlutiplier);
    }