diff --git a/js/achievements.js b/js/achievements.js index 76ad333..5b1674f 100644 --- a/js/achievements.js +++ b/js/achievements.js @@ -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); } }, diff --git a/js/game.js b/js/game.js index d894d5c..d21543f 100644 --- a/js/game.js +++ b/js/game.js @@ -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(); diff --git a/js/gameobjects.js b/js/gameobjects.js index c0c8556..bbf8fc7 100644 --- a/js/gameobjects.js +++ b/js/gameobjects.js @@ -175,6 +175,7 @@ var GameObjects = (function() { ObjectStorage.save('research', research); ObjectStorage.save('workers', workers); ObjectStorage.save('upgrades', upgrades); + ObjectStorage.save('achievements', achievements); }; return { diff --git a/js/storage.js b/js/storage.js index 8057188..09a8255 100644 --- a/js/storage.js +++ b/js/storage.js @@ -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));