Add achievements local storage support

This commit is contained in:
Tadej Novak
2014-08-04 19:50:41 +02:00
parent 6b3caad8af
commit 142b7941e8
4 changed files with 17 additions and 5 deletions
+7 -2
View File
@@ -4,7 +4,7 @@ var achievements =
listSpecial: [],
listSummary: [],
startTime: new Date(),
startTime: new Date().getTime(),
count:
{
@@ -50,6 +50,11 @@ var achievements =
});
},
restore: function()
{
achievements = $.extend({}, achievements, ObjectStorage.load('achievements'));
},
addWorkers: function(list)
{
for (var i = 0; i < list.length; i++) {
@@ -104,7 +109,7 @@ var achievements =
achievements.list[i].alerted = true;
var a = $.extend(true, {}, achievements.list[i]);
a.time = achievements.timeFormatter(new Date().getTime() - achievements.startTime.getTime());
a.time = achievements.timeFormatter(new Date().getTime() - achievements.startTime);
achievements.listSummary.push(a);
}
},
+3 -2
View File
@@ -94,13 +94,14 @@
}
});
achievements.setList(Helpers.loadFile('json/achievements.json'));
achievements.restore();
app.controller('AchievementsController', function() {
this.achievements = achievements.listSummary;
this.achievementsAll = achievements.list;
});
achievements.setList(Helpers.loadFile('json/achievements.json'));
// Activate auto-saving every 10 seconds
setInterval(function () {
GameObjects.saveAll();
+1
View File
@@ -175,6 +175,7 @@ var GameObjects = (function() {
ObjectStorage.save('research', research);
ObjectStorage.save('workers', workers);
ObjectStorage.save('upgrades', upgrades);
ObjectStorage.save('achievements', achievements);
};
return {
+6 -1
View File
@@ -8,7 +8,12 @@ var ObjectStorage = (function() {
var _s = localStorage;
return {
save: function(key, item) {
_s.setItem(key, JSON.stringify(item));
_s.setItem(key, JSON.stringify(item, function (key, val) {
if (key == '$$hashKey') {
return undefined;
}
return val;
}));
},
load: function(key) {
return JSON.parse(_s.getItem(key));