new file: Files/flashplayer_32_sa.exe new file: favicon.ico new file: globe.gif new file: imgs/download.png new file: imgs/zuck.jpg new file: index.html new file: other.ico new file: script.js new file: site.webmanifest new file: sitemap.html new file: styles/backround.css new file: styles/border.css new file: styles/fonts/Titillium_Web/OFL.txt new file: styles/fonts/Titillium_Web/TitilliumWeb-Black.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Bold.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-BoldItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-ExtraLight.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-ExtraLightItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Italic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Light.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-LightItalic.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-Regular.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-SemiBold.ttf new file: styles/fonts/Titillium_Web/TitilliumWeb-SemiBoldItalic.ttf new file: styles/fonts/webfontkit-20221027-163353/generator_config.txt new file: styles/fonts/webfontkit-20221027-163353/specimen_files/grid_12-825-55-15.css new file: styles/fonts/webfontkit-20221027-163353/specimen_files/specimen_stylesheet.css new file: styles/fonts/webfontkit-20221027-163353/stylesheet.css new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-demo.html new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff new file: styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff2 new file: styles/fonts/webfontkit-20221027-165950/generator_config.txt new file: styles/fonts/webfontkit-20221027-165950/specimen_files/grid_12-825-55-15.css new file: styles/fonts/webfontkit-20221027-165950/specimen_files/specimen_stylesheet.css new file: styles/fonts/webfontkit-20221027-165950/stylesheet.css new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-demo.html new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff new file: styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff2 new file: styles/style.css new file: tools/2048/.gitignore new file: tools/2048/.jshintrc new file: tools/2048/CONTRIBUTING.md new file: tools/2048/LICENSE.txt new file: tools/2048/README.md new file: tools/2048/Rakefile new file: tools/2048/favicon.ico new file: tools/2048/index.html new file: tools/2048/js/animframe_polyfill.js new file: tools/2048/js/application.js new file: tools/2048/js/bind_polyfill.js new file: tools/2048/js/classlist_polyfill.js new file: tools/2048/js/game_manager.js new file: tools/2048/js/grid.js new file: tools/2048/js/html_actuator.js new file: tools/2048/js/keyboard_input_manager.js new file: tools/2048/js/local_storage_manager.js new file: tools/2048/js/tile.js new file: tools/2048/meta/apple-touch-icon.png new file: tools/webretro/cores/neocd_libretro.js new file: tools/webretro/cores/neocd_libretro.wasm new file: tools/webretro/cores/nestopia_libretro.js new file: tools/webretro/cores/nestopia_libretro.wasm new file: tools/webretro/cores/o2em_libretro.js new file: tools/webretro/cores/o2em_libretro.wasm new file: tools/webretro/cores/opera_libretro.js new file: tools/webretro/cores/opera_libretro.wasm
64 lines
1.6 KiB
JavaScript
64 lines
1.6 KiB
JavaScript
window.fakeStorage = {
|
|
_data: {},
|
|
|
|
setItem: function (id, val) {
|
|
return this._data[id] = String(val);
|
|
},
|
|
|
|
getItem: function (id) {
|
|
return this._data.hasOwnProperty(id) ? this._data[id] : undefined;
|
|
},
|
|
|
|
removeItem: function (id) {
|
|
return delete this._data[id];
|
|
},
|
|
|
|
clear: function () {
|
|
return this._data = {};
|
|
}
|
|
};
|
|
|
|
function LocalStorageManager() {
|
|
this.bestScoreKey = "bestScore";
|
|
this.gameStateKey = "gameState";
|
|
|
|
var supported = this.localStorageSupported();
|
|
this.storage = supported ? window.localStorage : window.fakeStorage;
|
|
}
|
|
|
|
LocalStorageManager.prototype.localStorageSupported = function () {
|
|
var testKey = "test";
|
|
|
|
try {
|
|
var storage = window.localStorage;
|
|
storage.setItem(testKey, "1");
|
|
storage.removeItem(testKey);
|
|
return true;
|
|
} catch (error) {
|
|
return false;
|
|
}
|
|
};
|
|
|
|
// Best score getters/setters
|
|
LocalStorageManager.prototype.getBestScore = function () {
|
|
return this.storage.getItem(this.bestScoreKey) || 0;
|
|
};
|
|
|
|
LocalStorageManager.prototype.setBestScore = function (score) {
|
|
this.storage.setItem(this.bestScoreKey, score);
|
|
};
|
|
|
|
// Game state getters/setters and clearing
|
|
LocalStorageManager.prototype.getGameState = function () {
|
|
var stateJSON = this.storage.getItem(this.gameStateKey);
|
|
return stateJSON ? JSON.parse(stateJSON) : null;
|
|
};
|
|
|
|
LocalStorageManager.prototype.setGameState = function (gameState) {
|
|
this.storage.setItem(this.gameStateKey, JSON.stringify(gameState));
|
|
};
|
|
|
|
LocalStorageManager.prototype.clearGameState = function () {
|
|
this.storage.removeItem(this.gameStateKey);
|
|
};
|