Mercurial > boomslang
comparison gamelib/gamescreen.py @ 78:6bfebfbce42e
Partial message support
author | Neil Muller <neil@dip.sun.ac.za> |
---|---|
date | Mon, 23 Aug 2010 23:05:55 +0200 |
parents | 1a5fdc225939 |
children | 4fd56ee2af61 |
comparison
equal
deleted
inserted
replaced
77:bb7c8072f8c0 | 78:6bfebfbce42e |
---|---|
3 # Main menu for the game | 3 # Main menu for the game |
4 | 4 |
5 from albow.controls import Button, Label, Widget | 5 from albow.controls import Button, Label, Widget |
6 from albow.layout import Column | 6 from albow.layout import Column |
7 from albow.palette_view import PaletteView | 7 from albow.palette_view import PaletteView |
8 from albow.dialogs import Dialog | 8 from albow.dialogs import Dialog, wrapped_label |
9 from pygame import Rect | 9 from pygame import Rect |
10 from pygame.color import Color | 10 from pygame.color import Color |
11 from pygame.locals import BLEND_ADD | 11 from pygame.locals import BLEND_ADD |
12 | 12 |
13 from constants import BUTTON_SIZE | 13 from constants import BUTTON_SIZE |
52 | 52 |
53 def draw(self, surface): | 53 def draw(self, surface): |
54 self.state.draw(surface) | 54 self.state.draw(surface) |
55 | 55 |
56 def mouse_down(self, event): | 56 def mouse_down(self, event): |
57 self.state.interact(event.pos) | 57 result = self.state.interact(event.pos) |
58 if result and result.message: | |
59 # Display the message as a modal dialog | |
60 msg_label = wrapped_label(result.message, 60) | |
61 dialog = Dialog(msg_label) | |
62 dialog.click_outside_response = -1 | |
63 dialog.present() | |
64 # queue a redraw to show updated state | |
65 self.invalidate() | |
58 | 66 |
59 def mouse_move(self, event): | 67 def mouse_move(self, event): |
60 self.state.mouse_move(event.pos) | 68 self.state.mouse_move(event.pos) |
61 CursorWidget.mouse_move(self, event) | 69 CursorWidget.mouse_move(self, event) |
62 | 70 |