diff nagslang/screens/area.py @ 105:0131e4606e1a

List of drawables in area.
author Jeremy Thurgood <firxen@gmail.com>
date Mon, 02 Sep 2013 13:29:30 +0200
parents 96bdfadeb461
children bce9cd8a4a8c
line wrap: on
line diff
--- a/nagslang/screens/area.py	Mon Sep 02 13:21:53 2013 +0200
+++ b/nagslang/screens/area.py	Mon Sep 02 13:29:30 2013 +0200
@@ -49,8 +49,11 @@
         self.keys = ControlKeys()
         self._level = Level(self.name)
         self._level.load()
+        self._drawables = []
         self.add_walls()
         self.add_protagonist()
+        # TODO: Put this in a level instead:
+        self._drawables.append(FloorSwitch(self.space, (300, 400)))
 
     def add_walls(self):
         self.walls = []
@@ -69,7 +72,7 @@
 
     def add_protagonist(self):
         self.protagonist = Protagonist(self.space, (350, 300))
-        self.toy_switch = FloorSwitch(self.space, (300, 400))
+        self._drawables.append(self.protagonist)
 
     def handle_event(self, ev):
         if ev.type == pygame.locals.KEYDOWN:
@@ -104,8 +107,8 @@
         #surface.fill(pygame.color.Color(0, 0, 0))
         background = self._level.get_background()
         mysurface = background.copy()
-        self.toy_switch.render(mysurface)
-        self.protagonist.render(mysurface)
+        for drawable in self._drawables:
+            drawable.render(mysurface)
         render_rect = self._calc_viewport(mysurface, surface)
         surface.blit(mysurface, (0, 0), render_rect)