You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
1.7 KiB
58 lines
1.7 KiB
'use strict';
|
|
|
|
let debug = false,
|
|
font: any,
|
|
settings: any;
|
|
|
|
let antiCacheQuery = '?_=' + new Date().getTime();
|
|
|
|
const p = new p5((p: p5) => {
|
|
|
|
p.preload = () => {
|
|
settings = p.loadJSON('data/settings/settings.json' + antiCacheQuery, {}, 'json', (json: any) => {
|
|
console.log('Local settings loaded: ', json);
|
|
}, (error: any) => {
|
|
console.log('Local settings failed: ', error);
|
|
});
|
|
|
|
font = p.loadFont('data/styles/fonts/Tajawal/Tajawal-Regular.ttf' + antiCacheQuery, (font: any) => {
|
|
console.log('Local font loaded: ', font);
|
|
}, (error: any) => {
|
|
console.log('Local font failed: ', error);
|
|
});
|
|
}
|
|
|
|
p.setup = () => {
|
|
canvasSetup();
|
|
eventsSetup();
|
|
loadDynamicScripts().then(async () => {
|
|
for (let id of settings.tournaments){
|
|
try{
|
|
let tournament = await fetchTournament(id);
|
|
$('#tournament-list').append(tournament.teaserHtml);
|
|
} catch(e){
|
|
console.info('Cannot fetch internal tournament with id ' + id + ": " + e);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
function canvasSetup(){
|
|
p.noCanvas();
|
|
}
|
|
|
|
async function loadDynamicScripts(){
|
|
const json = await p.httpGet('data/settings/libraries.json' + antiCacheQuery, 'json') as Object;
|
|
let requests = [];
|
|
for (let script in json) {
|
|
if (json[script]) {
|
|
let url = '/lib/benjocraeft/' + script + '.js';
|
|
requests.push($.getScript(url, () => {
|
|
console.log('Successfully loaded script: ', url);
|
|
}));
|
|
}
|
|
}
|
|
await $.when(...requests);
|
|
console.log('All dynamic scripts have been loaded!');
|
|
} |