Mercurial > boomslang
comparison gamelib/gamescreen.py @ 76:1a5fdc225939
Add description rendering to scene rendering.
author | Simon Cross <hodgestar+bzr@gmail.com> |
---|---|
date | Mon, 23 Aug 2010 22:11:41 +0200 |
parents | 75e1040a1121 |
children | 6bfebfbce42e |
comparison
equal
deleted
inserted
replaced
75:a62db6d10009 | 76:1a5fdc225939 |
---|---|
47 class StateWidget(CursorWidget): | 47 class StateWidget(CursorWidget): |
48 | 48 |
49 def __init__(self, state): | 49 def __init__(self, state): |
50 Widget.__init__(self, Rect(0, 0, 800, 600 - BUTTON_SIZE)) | 50 Widget.__init__(self, Rect(0, 0, 800, 600 - BUTTON_SIZE)) |
51 self.state = state | 51 self.state = state |
52 # current mouse-over thing description | |
53 self.description = None | |
54 | 52 |
55 def draw(self, surface): | 53 def draw(self, surface): |
56 self.state.draw(surface) | 54 self.state.draw(surface) |
57 if self.description: | |
58 print self.description | |
59 msg = self.state.get_message() | |
60 if msg: | |
61 # FIXME: add some timer to invalidate msgs | |
62 print msg | |
63 self.state.clear_message() | |
64 desc = self.state.get_description() | |
65 if desc: | |
66 print desc | |
67 | 55 |
68 def mouse_down(self, event): | 56 def mouse_down(self, event): |
69 self.state.interact(event.pos) | 57 self.state.interact(event.pos) |
70 | 58 |
71 def mouse_move(self, event): | 59 def mouse_move(self, event): |
72 self.state.mouse_move(event.pos) | 60 self.state.mouse_move(event.pos) |
73 if self.state.check_for_new_description(event.pos): | |
74 # queue a redraw | |
75 self.invalidate() | |
76 CursorWidget.mouse_move(self, event) | 61 CursorWidget.mouse_move(self, event) |
77 | 62 |
78 | 63 |
79 class DetailWindow(CursorWidget): | 64 class DetailWindow(CursorWidget): |
80 def mouse_down(self, e): | 65 def mouse_down(self, e): |