'use strict'; let debug = false, font, settings, loader; //Only for online games let socket; let antiCacheQuery = '?_=' + new Date().getTime(); let colors; const p = new p5((p) => { p.preload = () => { settings = p.loadJSON('data/settings/settings.json' + antiCacheQuery, {}, 'json', (json) => { console.log('Local settings loaded: ', json); }, (error) => { console.log('Local settings failed: ', error); }); font = p.loadFont('data/styles/fonts/Tajawal/Tajawal-Regular.ttf' + antiCacheQuery, (font) => { console.log('Local font loaded: ', font); }, (error) => { console.log('Local font failed: ', error); }); }; p.setup = () => { interfaceSetup(); canvasSetup(); //loader = new Loader(p.createVector(p.width / 2, p.height / 2), Math.min(p.width, p.height) / 2); loadDynamicScripts().then(() => { //Load other stuff, then => //loader = null; colors = new Colors(); colors.display(); }); }; p.draw = () => { p.background(30); if (loader){ loader.update(); loader.display(); } if (colors){ colors.display(); } if (debug) debugInformation(); }; }); function debugInformation(){ } function interfaceSetup(){ } function canvasSetup(){ p.frameRate(60); let element = $('#canvas_holder'); let w = element.width(), h = element.height(); let canvas = p.createCanvas(w, h); canvas.parent('canvas_holder'); p.textFont(font); p.frameRate(5); } async function loadDynamicScripts(){ const json = await p.httpGet('data/settings/libraries.json' + antiCacheQuery, 'json'); let requests = []; for (let script in json) { if (json.hasOwnProperty(script)){ 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!'); }