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.
87 lines
1.9 KiB
87 lines
1.9 KiB
'use strict';
|
|
|
|
let debug = false,
|
|
font,
|
|
localSettings,
|
|
loader;
|
|
|
|
//Only for online games
|
|
let socket;
|
|
|
|
let antiCacheQuery = '?_=' + new Date().getTime();
|
|
|
|
let game;
|
|
|
|
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/font.ttf', json => {
|
|
console.log('Local font loaded: ', json);
|
|
}, error => {
|
|
console.log('Local font failed: ', error);
|
|
});
|
|
}
|
|
|
|
function setup(){
|
|
canvasSetup();
|
|
interfaceSetup();
|
|
|
|
loadDynamicScripts().then(() => game = new Game());
|
|
}
|
|
|
|
function draw(){
|
|
|
|
background(40);
|
|
|
|
if (game){
|
|
game.update();
|
|
game.display();
|
|
}
|
|
|
|
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);
|
|
}
|
|
|
|
function interfaceSetup(){
|
|
$('#cell_count').attr({
|
|
'min': localSettings.app.grid.size.min,
|
|
'max': localSettings.app.grid.size.max
|
|
});
|
|
}
|
|
|
|
function loadDynamicScripts(){
|
|
|
|
return httpGet('data/settings/libraries.json' + antiCacheQuery, 'json')
|
|
.then(json => {
|
|
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)
|
|
}));
|
|
}
|
|
}
|
|
return $.when(...requests);
|
|
})
|
|
.then(() => {
|
|
console.log("All dynamic scripts have been loaded!");
|
|
});
|
|
} |