public UBundle GetBundle(string bundleName) { UBundle bundle; if (!_bundles.TryGetValue(bundleName, out bundle)) { Manifest.BundleInfo bundleInfo; if (_bundlesMap.TryGetValue(bundleName, out bundleInfo)) { switch (bundleInfo.type) { case Manifest.BundleType.AssetBundle: bundle = new UAssetBundleBundle(this, bundleInfo); break; case Manifest.BundleType.ZipArchive: bundle = new ZipArchiveUBundle(this, bundleInfo); break; } if (bundle != null) { _bundles.Add(bundleName, bundle); _AddDependencies(bundle, bundle.bundleInfo.dependencies); OpenBundle(bundle); } } } return(bundle); }
public ZipFileSystem(ZipArchiveUBundle bundle) { _bundle = bundle; _bundle.AddRef(); _bundle.completed += OnBundleLoaded; }