changeset 342:11febdb72296

Resume from the previous level
author Stefano Rivera <stefano@rivera.za.net>
date Fri, 06 Sep 2013 12:59:51 +0200
parents 63d0c70a4e15
children e5f525c87eb9
files nagslang/screens/area.py nagslang/screens/menu.py nagslang/world.py
diffstat 3 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/nagslang/screens/area.py	Fri Sep 06 12:55:48 2013 +0200
+++ b/nagslang/screens/area.py	Fri Sep 06 12:59:51 2013 +0200
@@ -171,6 +171,7 @@
                 # Go to anther screen
                 self._disable_render = True
                 self.world.rooms += 1
+                self.world.level = ev.destination
                 ScreenChange.post(ev.destination)
                 return
             # else we're teleporting within the screen, and just the
--- a/nagslang/screens/menu.py	Fri Sep 06 12:55:48 2013 +0200
+++ b/nagslang/screens/menu.py	Fri Sep 06 12:59:51 2013 +0200
@@ -4,7 +4,6 @@
 
 from nagslang.screens.base import Screen
 from nagslang.events import QuitEvent, ScreenChange
-from nagslang.level import Level
 from nagslang.widgets.text import TextWidget, MultiLineWidget
 
 
@@ -47,8 +46,7 @@
             widget.draw(surface)
 
     def play(self):
-        first_level = Level.list_levels()[0]
-        ScreenChange.post(first_level)
+        ScreenChange.post(self.world.level)
 
     def restart(self):
         self.world.reset()
--- a/nagslang/world.py	Fri Sep 06 12:55:48 2013 +0200
+++ b/nagslang/world.py	Fri Sep 06 12:59:51 2013 +0200
@@ -7,8 +7,9 @@
 
 import pymunk
 
+from nagslang.level import Level
+from nagslang.protagonist import Protagonist
 from nagslang.yamlish import dump, load
-from nagslang.protagonist import Protagonist
 
 
 class World(object):
@@ -22,6 +23,8 @@
         self.kills = 0
         self.rooms = 0
         self.protagonist = Protagonist(pymunk.Space(), self, (350, 300))
+        first_level = Level.list_levels()[0]
+        self.level = first_level
 
     def _save_location(self):
         app = 'nagslang'