Skip to content

Commit

Permalink
Loading from localstorage, and basic buttons available/displayed
Browse files Browse the repository at this point in the history
  • Loading branch information
kristoffer-tvera committed May 18, 2018
1 parent dbd1a66 commit 14712b0
Show file tree
Hide file tree
Showing 5 changed files with 108 additions and 31 deletions.
2 changes: 2 additions & 0 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ module.exports = function (grunt) {
// the files to concatenate
src: [
"js/partial/globals.js",
"js/partial/loading.js",
"js/partial/level_check.js",
'js/partial/event_handlers.js',
'js/partial/render_level.js',
Expand All @@ -98,6 +99,7 @@ module.exports = function (grunt) {
},
src: [
"js/partial/globals.js",
"js/partial/loading.js",
"js/partial/level_check.js",
'js/partial/event_handlers.js',
'js/partial/render_level.js',
Expand Down
24 changes: 3 additions & 21 deletions js/main.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,4 @@
// var level;

// document.getElementById('levelParseStart').addEventListener('click', function (e) {
// level = JSON.parse(
// document.getElementById('levelDropZone').value
// );
// console.log(level);
// })

var request = new XMLHttpRequest();
request.overrideMimeType('application/json');
request.open('get', '/js/templates/example_level.json', true)
request.onreadystatechange = function () {
if (request.readyState === 4 && request.status == "200") {
var level = JSON.parse(request.responseText);
Level = level;
// console.log(level);
render_level(level)
init_game()
}
}
request.send();
document.addEventListener('DOMContentLoaded', function (e) {
initialize();
});
48 changes: 40 additions & 8 deletions js/partial/core_game_logic.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,50 @@ function destroy_game() {
wipe_level();
}

/*
Runs every tick
*/
function iteration() {
console.log(Player);
console.log('ping');
player_modify_score(Player.score_per_tick);

// var score_per_tick = Player.score_per_tick;
// var score_before = Player.score;
// var score_after = score_before + score_per_tick;
update_affordable_buttons(Player.score);
update_displayed_buttons(Player.score_per_tick);
}

// display_update_score(score_after);
// display_update_score_per_tick(score_per_tick);
function update_affordable_buttons(score) {
var buttons = document.querySelectorAll('a.button__container');
if (buttons) {
for (var j = 0; j < buttons.length; j++) {
if (buttons[j].hasAttribute('data-cost')) {
var cost = buttons[j].getAttribute('data-cost');
cost = parseInt(cost);
if (cost > score) {
buttons[j].classList.add('disabled');
} else {
buttons[j].classList.remove('disabled');
}
}
}
}
}

// Player.score = score_after;
player_modify_score(Player.score_per_tick)
function update_displayed_buttons(score_per_tick) {
var buttons = document.querySelectorAll('a.button__container');
if (buttons) {
for (var j = 0; j < buttons.length; j++) {
if (buttons[j].hasAttribute('data-unlock-on')) {

var unlock_on = buttons[j].getAttribute('data-unlock-on');
unlock_on = parseInt(unlock_on);
if (unlock_on > score_per_tick) {
buttons[j].style.display = 'none';
} else {
buttons[j].style.display = 'flex';
}
}
}
}
}

function update_score_per_second(score) {
Expand Down
51 changes: 51 additions & 0 deletions js/partial/loading.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
function load_settings() {
return {
"localstorage": true,
}
}

function initialize() {
var settings = load_settings();
var gameWasLoadedFromLocalStorage = false;

if (settings.localstorage) {
gameWasLoadedFromLocalStorage = load_game();
}

if (!gameWasLoadedFromLocalStorage) {
console.log('We failed at loading from Localstorage');
load_fallback_json();
}

init_game();
}



function load_fallback_json() {
var request = new XMLHttpRequest();
request.overrideMimeType('application/json');
request.open('get', '/js/templates/example_level.json', false)
request.send();

if (request.readyState === 4 && request.status == "200") {
var level = JSON.parse(request.responseText);
Level = level;
render_level(level)
}
}

// function load_fallback_json_async() {
// var request = new XMLHttpRequest();
// request.overrideMimeType('application/json');
// request.open('get', '/js/templates/example_level.json', true)
// request.onreadystatechange = function () {
// if (request.readyState === 4 && request.status == "200") {
// var level = JSON.parse(request.responseText);
// Level = level;
// render_level(level)
// // init_game()
// }
// }
// request.send();
// }
14 changes: 12 additions & 2 deletions js/templates/example_level.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"id": "0",
"name": "Mow the lawn",
"color": "black",
"icon": "e637",
"icon": "e636",
"cost": "2",
"cost_increase": "50",
"gain": "0.1",
Expand All @@ -20,7 +20,17 @@
"cost": "10",
"cost_increase": "50",
"gain": "1",
"unlocked_on": "8"
"unlocked_on": "2"
},
{
"id": "2",
"name": "Clean shoes",
"color": "blue",
"icon": "e638",
"cost": "1000",
"cost_increase": "50",
"gain": "15",
"unlocked_on": "3"
}
],
"achievements": [
Expand Down

0 comments on commit 14712b0

Please sign in to comment.