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.
 
 
 
 

104 lines
2.4 KiB

'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)
});
}
}
}