hextris/js/save-state.js

54 lines
1.2 KiB
JavaScript
Raw Normal View History

2014-05-26 01:59:33 +00:00
function exportSaveState() {
2014-05-26 03:52:35 +00:00
var state = {};
if(gameState == 1 || gameState == -1 || (gameState === 0 && localStorage.getItem('saveState') !== undefined)) {
2014-05-26 03:52:35 +00:00
state = {
2014-07-04 16:47:37 +00:00
hex: $.extend(true, {}, MainHex),
blocks: $.extend(true, [], blocks),
2014-05-26 03:52:35 +00:00
score: score,
wavegen: waveone,
gdx: gdx,
gdy: gdy,
2014-07-04 16:42:22 +00:00
comboTime:settings.comboTime
};
2014-07-04 16:47:37 +00:00
state.hex.blocks.map(function(a){
for (var i = 0; i < a.length; i++) {
a[i] = $.extend(true, {}, a[i]);
}
a.map(descaleBlock);
});
for (var i = 0; i < state.blocks.length; i++) {
state.blocks[i] = $.extend(true, {}, state.blocks[i]);
}
state.blocks.map(descaleBlock);
2014-05-26 01:59:33 +00:00
}
2014-07-24 15:16:53 +00:00
localStorage.setItem('highscores', JSON.stringify(highscores));
2014-05-26 03:52:35 +00:00
return JSONfn.stringify(state);
}
2014-05-26 05:11:13 +00:00
function descaleBlock(b) {
b.distFromHex /= settings.scale;
}
function writeHighScores() {
if (Object.prototype.toString.call(highscores) === '[object Array]') {
localStorage.setItem("highscores", JSON.stringify(highscores));
} else {
debugger;
}
}
2014-05-26 05:11:13 +00:00
function clearSaveState() {
localStorage.setItem("saveState", "{}");
2014-05-26 05:11:13 +00:00
}
function isStateSaved() {
2014-07-05 13:57:51 +00:00
return localStorage.getItem("saveState") != "{}" && localStorage.getItem("saveState") != undefined;
}