Path: blob/main/public/games/files/hextris/js/save-state.js
1036 views
function exportSaveState() {1var state = {};23if(gameState == 1 || gameState == -1 || (gameState === 0 && localStorage.getItem('saveState') !== undefined)) {4state = {5hex: $.extend(true, {}, MainHex),6blocks: $.extend(true, [], blocks),7score: score,8wavegen: waveone,9gdx: gdx,10gdy: gdy,11comboTime:settings.comboTime12};1314state.hex.blocks.map(function(a){15for (var i = 0; i < a.length; i++) {16a[i] = $.extend(true, {}, a[i]);17}1819a.map(descaleBlock);20});2122for (var i = 0; i < state.blocks.length; i++) {23state.blocks[i] = $.extend(true, {}, state.blocks[i]);24}2526state.blocks.map(descaleBlock);27}2829localStorage.setItem('highscores', JSON.stringify(highscores));3031return JSONfn.stringify(state);32}3334function descaleBlock(b) {35b.distFromHex /= settings.scale;36}3738function writeHighScores() {39highscores.sort(40function(a,b){41a = parseInt(a, 10);42b = parseInt(b, 10);43if (a < b) {44return 1;45} else if (a > b) {46return -1;47}else {48return 0;49}50}51);52highscores = highscores.slice(0,3);53localStorage.setItem("highscores", JSON.stringify(highscores));54}5556function clearSaveState() {57localStorage.setItem("saveState", "{}");58}5960function isStateSaved() {61return localStorage.getItem("saveState") != "{}" && localStorage.getItem("saveState") != undefined;62}636465