Mercurial > boomslang
comparison gamelib/state.py @ 210:eb101b6fb3dd
Transparent message dialogs.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Thu, 26 Aug 2010 16:29:54 +0200 |
parents | 9531a22721d1 |
children | a5325919342e |
comparison
equal
deleted
inserted
replaced
209:aeb96ca5f76c | 210:eb101b6fb3dd |
---|---|
16 DEBUG_SCENE = None | 16 DEBUG_SCENE = None |
17 | 17 |
18 class Result(object): | 18 class Result(object): |
19 """Result of interacting with a thing""" | 19 """Result of interacting with a thing""" |
20 | 20 |
21 def __init__(self, message=None, soundfile=None, detail_view=None): | 21 def __init__(self, message=None, soundfile=None, detail_view=None, style=None): |
22 self.message = message | 22 self.message = message |
23 self.sound = None | 23 self.sound = None |
24 if soundfile: | 24 if soundfile: |
25 self.sound = get_sound(soundfile) | 25 self.sound = get_sound(soundfile) |
26 self.detail_view = detail_view | 26 self.detail_view = detail_view |
27 self.style = style | |
27 | 28 |
28 def process(self, scene_widget): | 29 def process(self, scene_widget): |
29 """Helper function to do the right thing with a result object""" | 30 """Helper function to do the right thing with a result object""" |
30 if self.sound: | 31 if self.sound: |
31 self.sound.play() | 32 self.sound.play() |
32 if self.message: | 33 if self.message: |
33 scene_widget.show_message(self.message) | 34 scene_widget.show_message(self.message, self.style) |
34 if self.detail_view: | 35 if self.detail_view: |
35 scene_widget.show_detail(self.detail_view) | 36 scene_widget.show_detail(self.detail_view) |
36 | 37 |
37 | 38 |
38 def handle_result(result, scene_widget): | 39 def handle_result(result, scene_widget): |
256 return None | 257 return None |
257 label = BoomLabel(text) | 258 label = BoomLabel(text) |
258 label.set_margin(5) | 259 label.set_margin(5) |
259 label.border_width = 1 | 260 label.border_width = 1 |
260 label.border_color = (0, 0, 0) | 261 label.border_color = (0, 0, 0) |
261 label.bg_color = (127, 127, 127) | 262 label.bg_color = Color(127, 127, 127, 255) |
262 label.fg_color = (0, 0, 0) | 263 label.fg_color = (0, 0, 0) |
263 return label | 264 return label |
264 | 265 |
265 def draw_description(self, surface, screen): | 266 def draw_description(self, surface, screen): |
266 if self._current_description is not None: | 267 if self._current_description is not None: |