commit:bce1806ba72c3a8dea88c15f0fc16aa8f96d73dd
author:Chip Black
committer:Chip Black
date:Sun Nov 11 11:53:38 2018 -0600
parents:be4f9cbc334b631a5ec720744a56338fa3601a22
Store globals as an array
diff --git a/src/gamestate.ts b/src/gamestate.ts
line changes: +5/-10
index f6550bc..8199f47
--- a/src/gamestate.ts
+++ b/src/gamestate.ts
@@ -23,12 +23,8 @@ the init() method.
 */
 
 
-interface ObjectBag {
-    [id: string]: GameObjectProperties
-}
-
 interface Globals {
-    objects: ObjectBag
+    objects: GameObjectProperties[]
 }
 
 class GameState {
@@ -126,10 +122,9 @@ class GameState {
     }
 
     storeGlobals(): Globals {
-        const objects: ObjectBag = {}
+        const objects: GameObjectProperties[] = [];
         for (let [k, o] of this.objects) {
-            console.log('storeGlobals', k, o);
-            objects[k] = o.store();
+            objects.push(o.store());
         }
 
         return { objects };
@@ -137,9 +132,9 @@ class GameState {
 
     loadGlobals(globals: Globals) {
         if (globals.objects) {
-            for (let k of Object.keys(globals.objects)) {
+            for (let o of globals.objects) {
                 const obj = new GameObject();
-                obj.load(globals.objects[k]);
+                obj.load(o);
                 this.addObject(obj);
             }
         }

diff --git a/src/main.ts b/src/main.ts
line changes: +1/-1
index b74f28e..d3959aa
--- a/src/main.ts
+++ b/src/main.ts
@@ -31,7 +31,7 @@ function keydown(e: KeyboardEvent) {
             localStorage['map'] = JSON.stringify(gs.map.store());
             console.log(localStorage['map']);
             localStorage['globals'] = JSON.stringify(gs.storeGlobals());
-            console.log(localStorage['objects']);
+            console.log(localStorage['globals']);
             break;
         case 'KeyL':
             gs.map.load(JSON.parse(localStorage['map']));