'use strict'; let projectName = "chainreact"; let debug = false, productionMode = false, font, localSettings, loader; //Only for online games let socket; let game; let gemContentImage; let gemBorderImage; let gemContentGraphics = {}; let antiCacheQuery = '?_=' + new Date().getTime(); function preload(){ localSettings = loadJSON('data/settings/settings.json' + antiCacheQuery, json => { console.log('Local settings loaded: ', json); }, error => { console.log('Local settings failed: ', error); }); font = loadFont('data/styles/Tajawal/Tajawal-Regular.ttf', json => { console.log('Local font loaded: ', json); }, error => { console.log('Local font failed: ', error); }); gemContentImage = loadImage('data/images/gem_content.png', img => { console.log('Image loaded: ', img); }, error => { console.log('Image failed: ' , error); }); gemBorderImage = loadImage('data/images/gem_border.png', img => { console.log('Image loaded: ', img); }, error => { console.log('Image failed: ' , error); }); loadJSON('data/settings/libraries.json' + antiCacheQuery, json => { loadScripts(json) console.log('BenjoCraeft library scripts loaded: ', json) }); } function setup(){ canvasSetup(); interfaceSetup(); } function draw(){ background(0, 0, 10); if (game){ game.display(); game.update(); } if (loader){ loader.update(); loader.display(); } if (debug) debugInformation(); } function canvasSetup(){ setFrameRate(60); let w = $('#canvas-holder').width(), h = $('#canvas-holder').height(); let canvas = createCanvas(w, h); canvas.parent('canvas-holder'); textFont(font); textAlign(CENTER, CENTER); imageMode(CENTER); colorMode(HSB); } function interfaceSetup(){ window.onresize(); setInterval(() => window.onresize(), 500); $('#version').html(localSettings.project.version); $('#start_feedback, #give_feedback').attr('disabled', 'disabled'); nameTyped($('#main > input')); $('#main').fadeIn(menuesFadeTime); } function loadScripts(libs){ for (let script in libs){ if (libs[script]){ let url = '/lib/benjocraeft/' + script + '.js' $.getScript(url, () => { console.log('Successfully loaded script: ', url) }); } } }