refactor; level reorder

This commit is contained in:
Daddy32
2025-12-15 16:43:13 +01:00
parent e197a02fd0
commit 9a68214c8d
7 changed files with 123 additions and 70 deletions

51
src/storage.js Normal file
View File

@@ -0,0 +1,51 @@
(() => {
const makeStorageKey = (sceneId) => `physilinks-highscore-${sceneId}`;
const makeChainKey = (sceneId) => `physilinks-longestchain-${sceneId}`;
const loadHighScore = (sceneId) => {
try {
const raw = localStorage.getItem(makeStorageKey(sceneId));
const parsed = parseInt(raw, 10);
return Number.isFinite(parsed) ? parsed : 0;
} catch (err) {
console.error("Failed to load high score", { sceneId, err });
return 0;
}
};
const loadLongestChain = (sceneId) => {
try {
const raw = localStorage.getItem(makeChainKey(sceneId));
const parsed = parseInt(raw, 10);
return Number.isFinite(parsed) ? parsed : 0;
} catch (err) {
console.error("Failed to load longest chain", { sceneId, err });
return 0;
}
};
const saveHighScore = (sceneId, highScore) => {
try {
localStorage.setItem(makeStorageKey(sceneId), String(highScore));
} catch (err) {
console.error("Failed to save high score", { sceneId, err });
}
};
const saveLongestChain = (sceneId, longestChain) => {
try {
localStorage.setItem(makeChainKey(sceneId), String(longestChain));
} catch (err) {
console.error("Failed to save longest chain", { sceneId, err });
}
};
window.PhysilinksStorage = {
makeStorageKey,
makeChainKey,
loadHighScore,
loadLongestChain,
saveHighScore,
saveLongestChain,
};
})();