Mercurial > nagslang
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