changeset 68:2f7206c57b31

Use cookies to preserve inventory between maps
author Radomir Dopieralski <sheep-devel@sheep.art.pl>
date Sun, 17 Feb 2013 20:12:56 +0100
parents e237a8198518
children e24626b4448a
files dw.js
diffstat 1 files changed, 16 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/dw.js	Sun Feb 17 19:58:09 2013 +0100
+++ b/dw.js	Sun Feb 17 20:12:56 2013 +0100
@@ -229,7 +229,7 @@
 
         self.facing = 2;
         self.steps = 0;
-        self.items = [];
+        self.items = module.load_cookie('items').split(',');
         DX = [ 0,  1,  0, -1 ];
         DY = [-1,  0,  1,  0 ];
 
@@ -305,6 +305,8 @@
             if (!self.has_item(item)) {
                 self.items.push(item);
             };
+            var items = self.items.join(',');
+            module.save_cookie('items', items);
         };
 
         self.set_pos = function () {
@@ -415,6 +417,19 @@
         };
     };
 
+    module.load_cookie = function (name) {
+        name = escape(name);
+        name = name.replace(/[\-\.\+\*]/g, "\\$&");
+        var re = "(?:^|.*;\\s*)" + name + "\\s*\\=\\s*((?:[^;](?!;))*[^;]?).*";
+        return unescape(document.cookie.replace(new RegExp(re), "$1"));
+    };
+
+    module.save_cookie = function (name, value) {
+        name = escape(name);
+        value = escape(value);
+        document.cookie = name + "=" + value;
+    };
+
     module.loop = function () {
         // The main game loop.