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