32 lines
763 B
JavaScript
32 lines
763 B
JavaScript
|
const GAME_STATE_KEY = "gameState";
|
||
|
|
||
|
class GameState {
|
||
|
getQuestionChoice(qId) {
|
||
|
let savedItem = this._readGameState();
|
||
|
if (qId in savedItem) {
|
||
|
return savedItem[qId];
|
||
|
}
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
setQuestionChoice(qId, cId) {
|
||
|
let savedItem = this._readGameState();
|
||
|
savedItem[qId] = cId;
|
||
|
localStorage.setItem(GAME_STATE_KEY, JSON.stringify(savedItem));
|
||
|
}
|
||
|
|
||
|
clearChoices() {
|
||
|
localStorage.removeItem(GAME_STATE_KEY);
|
||
|
}
|
||
|
|
||
|
_readGameState() {
|
||
|
let savedItem = localStorage.getItem(GAME_STATE_KEY);
|
||
|
if (savedItem === null) {
|
||
|
return {};
|
||
|
} else {
|
||
|
return JSON.parse(savedItem);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export let gameState = new GameState();
|