changeset 612:cfc16ded7b34 pyntnclick

Fix scene/screen confusion
author Neil Muller <neil@dip.sun.ac.za>
date Sat, 11 Feb 2012 21:12:45 +0200
parents 4fcc389f4d40
children 44d4e3020874
files gamelib/main.py pyntnclick/engine.py pyntnclick/main.py pyntnclick/state.py
diffstat 4 files changed, 5 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/gamelib/main.py	Sat Feb 11 21:08:35 2012 +0200
+++ b/gamelib/main.py	Sat Feb 11 21:12:45 2012 +0200
@@ -10,7 +10,7 @@
 
     INITIAL_SCENE = scenes.INITIAL_SCENE
     SCENE_LIST = scenes.SCENE_LIST
-    SPECIAL_SCENES = {
+    SPECIAL_SCREENS = {
             'menu': MenuScreen,
             'end': EndScreen,
             }
--- a/pyntnclick/engine.py	Sat Feb 11 21:08:35 2012 +0200
+++ b/pyntnclick/engine.py	Sat Feb 11 21:12:45 2012 +0200
@@ -16,7 +16,7 @@
     def set_screen(self, screen_name):
         if self._screen is not None:
             self._screen.on_exit()
-        self._screen = self.screens.get(screen_name, None)
+        self._screen = self.screens[screen_name]
         if self._screen is not None:
             self._screen.on_enter()
 
--- a/pyntnclick/main.py	Sat Feb 11 21:08:35 2012 +0200
+++ b/pyntnclick/main.py	Sat Feb 11 21:12:45 2012 +0200
@@ -70,7 +70,7 @@
         initial_state = state.Game(self)
         initial_state.set_debug_rects(self._debug_rects)
         for scene in self._scene_list:
-            initial_state.load_scenes(scene, self.engine)
+            initial_state.load_scenes(scene)
         initial_state.set_current_scene(self._initial_scene)
         initial_state.set_do_enter_leave()
         return initial_state
@@ -153,7 +153,7 @@
 
             self.engine = Engine(self)
             # Initialize the special screens in the engine
-            for name, cls in self.SPECIAL_SCENES.iteritems():
+            for name, cls in self.SPECIAL_SCREENS.iteritems():
                 screen = cls(self)
                 self.engine.add_screen(name, screen)
             # Should we allow the menu not to be the opening screen?
--- a/pyntnclick/state.py	Sat Feb 11 21:08:35 2012 +0200
+++ b/pyntnclick/state.py	Sat Feb 11 21:12:45 2012 +0200
@@ -105,17 +105,15 @@
         item.set_game(self)
         self.items[item.name] = item
 
-    def load_scenes(self, modname, engine):
+    def load_scenes(self, modname):
         mod = __import__("gamelib.scenes.%s" % (modname,), fromlist=[modname])
         for scene_cls in mod.SCENES:
             scene = scene_cls(self)
             self.add_scene(scene)
-            engine.add_screen(scene.name, scene)
         if hasattr(mod, 'DETAIL_VIEWS'):
             for scene_cls in mod.DETAIL_VIEWS:
                 scene = scene_cls(self)
                 self.add_detail_view(scene)
-                engine.add_screen(scene.name, scene)
 
     def set_current_scene(self, name):
         old_scene = self.current_scene