changeset 37:4140780c21bc

Give screens a name and a world.
author Simon Cross <hodgestar@gmail.com>
date Sun, 01 Sep 2013 17:06:06 +0200
parents 56d1b336ffda
children 53c47434b744
files nagslang/engine.py nagslang/screens/area.py nagslang/screens/base.py
diffstat 3 files changed, 12 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/nagslang/engine.py	Sun Sep 01 17:01:25 2013 +0200
+++ b/nagslang/engine.py	Sun Sep 01 17:06:06 2013 +0200
@@ -24,8 +24,9 @@
     def change_screen(self, new_screen):
         if self._current_screen is not None:
             self._current_screen.teardown()
-        self._current_screen = self._screens[new_screen]()
-        self._current_screen.setup(self._world)
+        screen_cls = self._screens[new_screen]
+        self._current_screen = screen_cls(new_screen, self._world)
+        self._current_screen.setup()
 
     def run(self):
         running = True
--- a/nagslang/screens/area.py	Sun Sep 01 17:01:25 2013 +0200
+++ b/nagslang/screens/area.py	Sun Sep 01 17:06:06 2013 +0200
@@ -27,12 +27,12 @@
 
 class AreaScreen(Screen):
 
-    def setup(self, world):
+    def setup(self):
         self.keys = ControlKeys()
-        self.add_walls(world)
-        self.add_protagonist(world)
+        self.add_walls()
+        self.add_protagonist()
 
-    def add_walls(self, world):
+    def add_walls(self):
         self.walls = []
         body = pymunk.Body()
         body.position = (400, 300)
@@ -43,7 +43,7 @@
             corner = next_corner
         self.space.add(*self.walls)
 
-    def add_protagonist(self, world):
+    def add_protagonist(self):
         self.protagonist_body = pymunk.Body(100, 1000)
         self.protagonist_body.position = (400, 300)
         self.protagonist_body.velocity_limit = 5000
--- a/nagslang/screens/base.py	Sun Sep 01 17:01:25 2013 +0200
+++ b/nagslang/screens/base.py	Sun Sep 01 17:06:06 2013 +0200
@@ -6,10 +6,12 @@
 
 class Screen(object):
 
-    def __init__(self):
+    def __init__(self, name, world):
+        self.name = name
+        self.world = world
         self.space = pymunk.Space()
 
-    def setup(self, world):
+    def setup(self):
         """Perform setup based on the world state."""
         pass