# HG changeset patch # User Simon Cross # Date 1378047966 -7200 # Node ID 4140780c21bc5684ba4571d3bb1755a225aac27b # Parent 56d1b336ffda71d13ab1debd4a128379013237dc Give screens a name and a world. diff -r 56d1b336ffda -r 4140780c21bc nagslang/engine.py --- 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 diff -r 56d1b336ffda -r 4140780c21bc nagslang/screens/area.py --- 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 diff -r 56d1b336ffda -r 4140780c21bc nagslang/screens/base.py --- 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