comparison pyntnclick/state.py @ 608:a25cd1c6335a pyntnclick

Pass screens through engine by name
author Neil Muller <neil@dip.sun.ac.za>
date Sat, 11 Feb 2012 20:57:28 +0200
parents 3ce19d33b51f
children cfc16ded7b34
comparison
equal deleted inserted replaced
607:f2b1ddcc4986 608:a25cd1c6335a
103 103
104 def add_item(self, item): 104 def add_item(self, item):
105 item.set_game(self) 105 item.set_game(self)
106 self.items[item.name] = item 106 self.items[item.name] = item
107 107
108 def load_scenes(self, modname): 108 def load_scenes(self, modname, engine):
109 mod = __import__("gamelib.scenes.%s" % (modname,), fromlist=[modname]) 109 mod = __import__("gamelib.scenes.%s" % (modname,), fromlist=[modname])
110 for scene_cls in mod.SCENES: 110 for scene_cls in mod.SCENES:
111 self.add_scene(scene_cls(self)) 111 scene = scene_cls(self)
112 self.add_scene(scene)
113 engine.add_screen(scene.name, scene)
112 if hasattr(mod, 'DETAIL_VIEWS'): 114 if hasattr(mod, 'DETAIL_VIEWS'):
113 for scene_cls in mod.DETAIL_VIEWS: 115 for scene_cls in mod.DETAIL_VIEWS:
114 self.add_detail_view(scene_cls(self)) 116 scene = scene_cls(self)
117 self.add_detail_view(scene)
118 engine.add_screen(scene.name, scene)
115 119
116 def set_current_scene(self, name): 120 def set_current_scene(self, name):
117 old_scene = self.current_scene 121 old_scene = self.current_scene
118 self.current_scene = self.scenes[name] 122 self.current_scene = self.scenes[name]
119 self.current_thing = None 123 self.current_thing = None