Mercurial > boomslang
diff gamelib/state.py @ 403:df3216b369b1
Hook up navigation tab, Add won condition
author | Neil Muller <neil@dip.sun.ac.za> |
---|---|
date | Sat, 28 Aug 2010 21:31:30 +0200 |
parents | b1dc0caec668 |
children | 19aff54b2e73 |
line wrap: on
line diff
--- a/gamelib/state.py Sat Aug 28 21:29:49 2010 +0200 +++ b/gamelib/state.py Sat Aug 28 21:31:30 2010 +0200 @@ -18,13 +18,14 @@ class Result(object): """Result of interacting with a thing""" - def __init__(self, message=None, soundfile=None, detail_view=None, style=None): + def __init__(self, message=None, soundfile=None, detail_view=None, style=None, close_detail=False): self.message = message self.sound = None if soundfile: self.sound = get_sound(soundfile) self.detail_view = detail_view self.style = style + self.close_detail = close_detail def process(self, scene_widget): """Helper function to do the right thing with a result object""" @@ -34,6 +35,8 @@ scene_widget.show_message(self.message, self.style) if self.detail_view: scene_widget.show_detail(self.detail_view) + if self.close_detail and hasattr(scene_widget, 'parent') and hasattr(scene_widget.parent, 'clear_detail'): + scene_widget.parent.clear_detail() def handle_result(result, scene_widget): @@ -59,6 +62,7 @@ state.load_scenes("crew_quarters") state.load_scenes("map") state.load_scenes("manual") + state.load_scenes("won") initial_scene = "cryo" if DEBUG_SCENE is None else DEBUG_SCENE state.set_current_scene(initial_scene) state.set_do_enter_leave()