This is the minimum concrete runtime API BundleManager will use, usually loaded from disk.
All bundle labels are passed in as "sanitized", this translates them to "specific"
Sanitized bundlelabels must be app-wide globally unique, they are keys in a global table.
Do not tie implementation to a single BundleManager. Might be used in multiple BundleManager instances.
See IBundleDirectoryLoader for a consistent API to load one of these concrete implementations.
Public Member Functions | |
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) |
bool AmountToDownload | ( | BundleManager | manager, |
string | sanitizedLabel, | ||
out uint | totalSize, | ||
out uint | alreadyDownloaded | ||
) |
How much is needed to download this?
manager | |
sanitizedLabel |
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.
Implemented in PackedManifest, and UnityManifest.
string GetStreamingAssetsName | ( | BundleManager | manager, |
string | sanitizedLabel, | ||
string | url | ||
) |
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.
sanitizedLabel | |
url |
Implemented in UnityManifest, and PackedManifest.
bool IsReady | ( | BundleManager | manager | ) |
Ready for requests?
Once ready, presumed always ready. Please remember to wait for UnityEngine.Caching.ready before making network requests.
Implemented in PackedManifest, and UnityManifest.
IEnumerator StartBundle | ( | BundleManager | manager, |
string | sanitizedLabel | ||
) |
Do any pre-load tasks for a bundle that might take time.
manager |
Implemented in PackedManifest, and UnityManifest.
bool TryGetDependencies | ( | BundleManager | manager, |
string | sanitizedLabel, | ||
out IEnumerable< string > | outRequiredSanitizedLabelList | ||
) |
What does this bundle depend on?
sanitizedLabel | |
outRequiredSanitizedLabelList |
Implemented in PackedManifest, and UnityManifest.
bool TryLookupBundle | ( | BundleManager | manager, |
string | sanitizedLabel, | ||
out string | outUrl, | ||
out Hash128 | outHash, | ||
out string | outCrc | ||
) |
Gather load-time info about bundle.
sanitizedLabel | |
outUrl | |
outHash | |
outCrc |
Implemented in PackedManifest, and UnityManifest.