26 lines
1.3 KiB
JavaScript
26 lines
1.3 KiB
JavaScript
'use strict';
|
|
// Installed after the WeChat adapter and before boot. Other bundles keep the engine loader.
|
|
const names = ['cloud_rise_matching', 'cloud_rise_stage1', 'cloud_rise_stage2', 'cloud_rise_stage3', 'cloud_rise_art'];
|
|
const downloader = cc.assetManager.downloader;
|
|
const original = downloader._downloaders.bundle;
|
|
let downloadTask = null;
|
|
function preparePackage() {
|
|
if (!downloadTask) downloadTask = new Promise((resolve, reject) => {
|
|
wx.loadSubpackage({ name: 'cloud_rise', success: () => resolve(), fail: reject });
|
|
}).catch(error => { downloadTask = null; throw error; });
|
|
return downloadTask;
|
|
}
|
|
window.__prepareCloudRisePackage = preparePackage;
|
|
downloader.register('bundle', function (nameOrUrl, options, onComplete) {
|
|
const name = cc.path.basename(nameOrUrl);
|
|
if (!names.includes(name)) return original(nameOrUrl, options, onComplete);
|
|
preparePackage().then(() => {
|
|
const base = 'subpackages/cloud_rise/' + name + '/';
|
|
const version = options.version || downloader.bundleVers[name];
|
|
window.fsUtils.readJson(base + 'config.' + (version ? version + '.' : '') + 'json', (error, data) => {
|
|
if (!error) data.base = base;
|
|
onComplete(error, data);
|
|
});
|
|
}).catch(error => onComplete(error));
|
|
});
|