This is the minimum concrete runtime API BundleManager will use, usually loaded from disk.
All bundle names are passed in as "sanitized", meaning no Variants (
bundleName.variant) or hashes (
bundleName_123123098). It is the manifest's job to translate those to the current Variant and hash as needed.
These methods are listed in the order they'll be called at runtime for any given bundle.
We offer two concrete implementations, but you are not limited to them:
See IManifestLoader for a consistent API to load one of these concrete implementations.
|bool||IsReady (BundleManager manager)|
|bool||AmountToDownload (BundleManager manager, string sanitizedLabel, out uint totalSize, out uint alreadyDownloaded)|
|IEnumerator||StartBundle (BundleManager manager, string sanitizedLabel)|
|bool||TryLookupBundle (BundleManager manager, string sanitizedLabel, out string outUrl, out Hash128 outHash, out string outCrc)|
|string||GetStreamingAssetsName (BundleManager manager, string sanitizedLabel, string url)|
|bool||TryGetDependencies (BundleManager manager, string sanitizedLabel, out IEnumerable< string > outRequiredSanitizedLabelList)|
How much is needed to download this?
|totalSize||How big the bundle is, regardless of how much has been downloaded|
|alreadyDownloaded||How much still needs to be downloaded.|
This will be called before StartBundle!
Return only this bundle's size. Caller will handle dependencies. This does require determining specific bundle to download, and if it's cached.
Figure out what name to check for in StreamingAssets data for a given URL.
In most cases this will remove the baseURL from the url this object calculated.
|out IEnumerable< string >||outRequiredSanitizedLabelList|