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