refactor; level reorder
This commit is contained in:
51
src/storage.js
Normal file
51
src/storage.js
Normal 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,
|
||||
};
|
||||
})();
|
||||
Reference in New Issue
Block a user