private IEnumerator BeginInitialize() { if (mStatus == LoadStatus.Done) { yield break; } else if (mStatus == LoadStatus.Loading) { yield return(new WaitUntil(() => mStatus == LoadStatus.Done)); } else { mStatus = LoadStatus.Loading; //初始化资源列表 yield return(AssetPath.Initialize()); if (AssetPath.mode == AssetMode.AssetBundle) { BundleAsset bundle = GetOrCreateBundle <BundleAsset>(AssetPath.list.manifest); AssetLoadTask <AssetBundleManifest> task = new AssetLoadTask <AssetBundleManifest>(AssetPath.list.manifest, FinishInitialize); task.assetName = "AssetBundleManifest"; yield return(bundle.LoadAssetAsync(task)); } else { FinishInitialize(null); } } }