Вход Регистрация
Файл: Arhmobi_esdcms/games/2048/js/local_storage_manager.js
Строк: 50
<?php
window
.fakeStorage = {
  
_data: {},

  
setItem: function (idval) {
    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";
  var 
storage window.localStorage;

  try {
    
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.bestScoreKeyscore);
};

// 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.gameStateKeyJSON.stringify(gameState));
};

LocalStorageManager.prototype.clearGameState = function () {
  
this.storage.removeItem(this.gameStateKey);
};
?>
Онлайн: 0
Реклама