mirror of
https://gitlab.com/skysthelimit.dev/selenite.git
synced 2025-06-16 10:32:08 -05:00
69 lines
1.6 KiB
JavaScript
69 lines
1.6 KiB
JavaScript
// delayed js loader
|
|
|
|
function loadScript(url, callback, aux) {
|
|
let script = document.createElement("script");
|
|
document.head.appendChild(script);
|
|
if (callback)
|
|
script.onload = callback;
|
|
if (aux) {
|
|
for (let key in aux) {
|
|
script.setAttribute(key, aux[key]);
|
|
}
|
|
}
|
|
script.src = url;
|
|
}
|
|
|
|
|
|
|
|
window.beatmaplistLoadedCallback = function () {
|
|
window.setTimeout(function () {
|
|
loadScript("js/lib/zip.js", function () {
|
|
window.zip.workerScriptsPath = 'js/lib/';
|
|
loadScript("js/lib/zip-fs.js", checkdep);
|
|
});
|
|
loadScript("js/lib/pixi.min.js", checkdep);
|
|
loadScript("js/lib/mp3parse.min.js", checkdep);
|
|
loadScript("js/lib/localforage.min.js", checkdep);
|
|
|
|
function checkdep() {
|
|
if (!window.aaaaa) window.aaaaa = 0;
|
|
window.aaaaa += 1;
|
|
if (window.aaaaa == 4) {
|
|
// load scripts of game
|
|
loadScript("js/lib/require.js", function () {
|
|
require.config({
|
|
paths: {
|
|
underscore: 'lib/underscore',
|
|
sound: 'lib/sound'
|
|
},
|
|
shim: {
|
|
"underscore": {
|
|
exports: "_"
|
|
}
|
|
},
|
|
// urlArgs: "bust=" + (new Date()).getTime()
|
|
});
|
|
}, {
|
|
"data-main": "js/initgame"
|
|
});
|
|
// load Liked list
|
|
if (window.localforage) {
|
|
localforage.getItem("likedsidset", function (err, item) {
|
|
if (!err) {
|
|
if (item && item.size)
|
|
window.liked_sid_set = item;
|
|
else
|
|
window.liked_sid_set = new Set();
|
|
for (let i = 0; i < window.liked_sid_set_callbacks.length; ++i)
|
|
window.liked_sid_set_callbacks[i]();
|
|
window.liked_sid_set_callbacks = [];
|
|
} else {
|
|
console.error("Favorites list failed to load");
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
}, 0);
|
|
} |