Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
FogNetwork
GitHub Repository: FogNetwork/Tsunami
Path: blob/main/public/games/files/hextris/js/save-state.js
1036 views
1
function exportSaveState() {
2
var state = {};
3
4
if(gameState == 1 || gameState == -1 || (gameState === 0 && localStorage.getItem('saveState') !== undefined)) {
5
state = {
6
hex: $.extend(true, {}, MainHex),
7
blocks: $.extend(true, [], blocks),
8
score: score,
9
wavegen: waveone,
10
gdx: gdx,
11
gdy: gdy,
12
comboTime:settings.comboTime
13
};
14
15
state.hex.blocks.map(function(a){
16
for (var i = 0; i < a.length; i++) {
17
a[i] = $.extend(true, {}, a[i]);
18
}
19
20
a.map(descaleBlock);
21
});
22
23
for (var i = 0; i < state.blocks.length; i++) {
24
state.blocks[i] = $.extend(true, {}, state.blocks[i]);
25
}
26
27
state.blocks.map(descaleBlock);
28
}
29
30
localStorage.setItem('highscores', JSON.stringify(highscores));
31
32
return JSONfn.stringify(state);
33
}
34
35
function descaleBlock(b) {
36
b.distFromHex /= settings.scale;
37
}
38
39
function writeHighScores() {
40
highscores.sort(
41
function(a,b){
42
a = parseInt(a, 10);
43
b = parseInt(b, 10);
44
if (a < b) {
45
return 1;
46
} else if (a > b) {
47
return -1;
48
}else {
49
return 0;
50
}
51
}
52
);
53
highscores = highscores.slice(0,3);
54
localStorage.setItem("highscores", JSON.stringify(highscores));
55
}
56
57
function clearSaveState() {
58
localStorage.setItem("saveState", "{}");
59
}
60
61
function isStateSaved() {
62
return localStorage.getItem("saveState") != "{}" && localStorage.getItem("saveState") != undefined;
63
}
64
65