diff nagslang/screens/area.py @ 145:0c49627920eb

Load game objects from level.
author Jeremy Thurgood <firxen@gmail.com>
date Mon, 02 Sep 2013 23:05:25 +0200
parents deac6a4008e7
children fff8e14858b4
line wrap: on
line diff
--- a/nagslang/screens/area.py	Mon Sep 02 22:40:14 2013 +0200
+++ b/nagslang/screens/area.py	Mon Sep 02 23:05:25 2013 +0200
@@ -68,11 +68,12 @@
     def setup(self):
         self.keys = ControlKeys()
         self._level = Level(self.name)
-        self._level.load()
+        self._level.load(self.space)
         self._drawables = Drawables()
         self.add_walls()
         self.add_protagonist()
-        self._setup_demo_objects()
+        self.add_game_objects()
+        # self._setup_demo_objects()
 
     def _setup_demo_objects(self):
         # TODO: Put this in a level instead
@@ -82,10 +83,10 @@
         light = FloorLight(self.space, (300, 500), 'switch')
         light2 = FloorLight(self.space, (250, 500), 'both_switches')
         light2.zorder = ZORDER_HIGH
-        glue.add_component('switch', switch.puzzler)
-        glue.add_component('switch2', switch2.puzzler)
-        glue.add_component('light', light.puzzler)
-        glue.add_component('light2', light2.puzzler)
+        glue.add_component('switch', switch)
+        glue.add_component('switch2', switch2)
+        glue.add_component('light', light)
+        glue.add_component('light2', light2)
         glue.add_component(
             'both_switches', StateLogicalAndPuzzler('switch', 'switch2'))
         self._drawables.add(switch)
@@ -110,6 +111,10 @@
                 corner = next_corner
         self.space.add(*self.walls)
 
+    def add_game_objects(self):
+        for drawable in self._level.get_drawables():
+            self._drawables.add(drawable)
+
     def add_protagonist(self):
         self.protagonist = Protagonist(self.space, (350, 300))
         self._drawables.add(self.protagonist)