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); }