Mercurial > pyntnclick
diff gamelib/state.py @ 119:d5f7cccfdb6c
Hook up "detail view" scenes.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Tue, 24 Aug 2010 17:04:56 +0200 |
parents | 139864ce8bdb |
children | 48d24a48d0ce |
line wrap: on
line diff
--- a/gamelib/state.py Tue Aug 24 15:39:02 2010 +0200 +++ b/gamelib/state.py Tue Aug 24 17:04:56 2010 +0200 @@ -71,10 +71,20 @@ mod = __import__("gamelib.scenes.%s" % (modname,), fromlist=[modname]) for scene_cls in mod.SCENES: self.add_scene(scene_cls(self)) + if hasattr(mod, 'DETAIL_VIEWS'): + for scene_cls in mod.DETAIL_VIEWS: + self.add_detail_view(scene_cls(self)) def set_current_scene(self, name): self.current_scene = self.scenes[name] + def set_current_detail(self, name): + if name is None: + self.current_detail = None + else: + self.current_detail = self.detail_views[name] + return self.current_detail.SIZE + def add_inventory_item(self, name): self.inventory.append(self.items[name]) @@ -90,15 +100,24 @@ def draw(self, surface): self.current_scene.draw(surface) + def draw_detail(self, surface): + self.current_detail.draw(surface) + def interact(self, pos): return self.current_scene.interact(self.tool, pos) + def interact_detail(self, pos): + return self.current_detail.interact(self.tool, pos) + def animate(self): return self.current_scene.animate() def mouse_move(self, pos): self.current_scene.mouse_move(self.tool, pos) + def mouse_move_detail(self, pos): + self.current_detail.mouse_move(self.tool, pos) + class StatefulGizmo(object):