annotate pyntnclick/scenewidgets.py @ 760:f288e5ec0a75 pyntnclick

Convert FIXME about animation image size equivalence into an assertion
author Stefano Rivera <stefano@rivera.za.net>
date Sat, 26 Jan 2013 13:02:19 +0200
parents 096a568d98aa
children afe7b1cb16c0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
525
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
1 """Interactive elements within a Scene."""
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
2
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
3
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
4 from pygame import Rect
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
5 from pygame.color import Color
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
6 from pygame.colordict import THECOLORS
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
7 from pygame.surface import Surface
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
8
551
38fb04728ac5 Rearrange import.
Jeremy Thurgood <firxen@gmail.com>
parents: 548
diff changeset
9 from pyntnclick.state import Thing
649
e59b119bb0f9 Evict the last BoomLabel.
Jeremy Thurgood <firxen@gmail.com>
parents: 625
diff changeset
10 from pyntnclick.widgets.text import LabelWidget
525
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
11
613
44d4e3020874 Remove a lot of albow
Stefano Rivera <stefano@rivera.za.net>
parents: 578
diff changeset
12 # XXX: Needs a way to get at resource:
617
ecde1d6bdda0 Correct fake get_image
Stefano Rivera <stefano@rivera.za.net>
parents: 613
diff changeset
13 from pyntnclick.resources import Resources
739
096a568d98aa Rename Resources -> data
Stefano Rivera <stefano@rivera.za.net>
parents: 649
diff changeset
14 get_image = Resources("data").get_image
613
44d4e3020874 Remove a lot of albow
Stefano Rivera <stefano@rivera.za.net>
parents: 578
diff changeset
15
525
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
16
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
17 class Interact(object):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
18
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
19 def __init__(self, image, rect, interact_rect):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
20 self.image = image
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
21 self.rect = rect
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
22 self.interact_rect = interact_rect
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
23
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
24 def set_thing(self, thing):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
25 pass
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
26
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
27 def draw(self, surface):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
28 if self.image is not None:
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
29 surface.blit(self.image, self.rect, None)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
30
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
31 def animate(self):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
32 return False
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
33
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
34
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
35 class InteractNoImage(Interact):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
36
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
37 def __init__(self, x, y, w, h):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
38 super(InteractNoImage, self).__init__(None, None, Rect(x, y, w, h))
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
39
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
40
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
41 class InteractText(Interact):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
42 """Display box with text to interact with -- mostly for debugging."""
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
43
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
44 def __init__(self, x, y, text, bg_color=None):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
45 if bg_color is None:
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
46 bg_color = (127, 127, 127)
649
e59b119bb0f9 Evict the last BoomLabel.
Jeremy Thurgood <firxen@gmail.com>
parents: 625
diff changeset
47 label = LabelWidget((0, 0), text)
e59b119bb0f9 Evict the last BoomLabel.
Jeremy Thurgood <firxen@gmail.com>
parents: 625
diff changeset
48 # label.set_margin(5)
e59b119bb0f9 Evict the last BoomLabel.
Jeremy Thurgood <firxen@gmail.com>
parents: 625
diff changeset
49 # label.border_width = 1
e59b119bb0f9 Evict the last BoomLabel.
Jeremy Thurgood <firxen@gmail.com>
parents: 625
diff changeset
50 # label.border_color = (0, 0, 0)
e59b119bb0f9 Evict the last BoomLabel.
Jeremy Thurgood <firxen@gmail.com>
parents: 625
diff changeset
51 # label.bg_color = bg_color
e59b119bb0f9 Evict the last BoomLabel.
Jeremy Thurgood <firxen@gmail.com>
parents: 625
diff changeset
52 # label.fg_color = (0, 0, 0)
525
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
53 image = Surface(label.size)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
54 rect = Rect((x, y), label.size)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
55 label.draw_all(image)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
56 super(InteractText, self).__init__(image, rect, rect)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
57
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
58
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
59 class InteractRectUnion(Interact):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
60
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
61 def __init__(self, rect_list):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
62 # pygame.rect.Rect.unionall should do this, but is broken
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
63 # in some pygame versions (including 1.8, it appears)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
64 rect_list = [Rect(x) for x in rect_list]
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
65 union_rect = rect_list[0]
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
66 for rect in rect_list[1:]:
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
67 union_rect = union_rect.union(rect)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
68 super(InteractRectUnion, self).__init__(None, None, union_rect)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
69 self.interact_rect = rect_list
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
70
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
71
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
72 class InteractImage(Interact):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
73
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
74 def __init__(self, x, y, image_name):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
75 super(InteractImage, self).__init__(None, None, None)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
76 self._pos = (x, y)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
77 self._image_name = image_name
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
78
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
79 def set_thing(self, thing):
625
85153f422522 Differently yuck get_image().
Jeremy Thurgood <firxen@gmail.com>
parents: 622
diff changeset
80 self.image = get_image(thing.folder, self._image_name)
525
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
81 self.rect = Rect(self._pos, self.image.get_size())
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
82 self.interact_rect = self.rect
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
83
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
84
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
85 class InteractImageRect(InteractImage):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
86 def __init__(self, x, y, image_name, r_x, r_y, r_w, r_h):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
87 super(InteractImageRect, self).__init__(x, y, image_name)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
88 self._r_pos = (r_x, r_y)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
89 self._r_size = (r_w, r_h)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
90
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
91 def set_thing(self, thing):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
92 super(InteractImageRect, self).set_thing(thing)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
93 self.interact_rect = Rect(self._r_pos, self._r_size)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
94
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
95
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
96 class InteractAnimated(Interact):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
97 """Interactive with an animation rather than an image"""
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
98
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
99 # anim_seq - sequence of image names
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
100 # delay - number of frames to wait between changing images
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
101
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
102 def __init__(self, x, y, anim_seq, delay):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
103 self._pos = (x, y)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
104 self._anim_pos = 0
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
105 self._names = anim_seq
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
106 self._frame_count = 0
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
107 self._anim_seq = None
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
108 self._delay = delay
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
109
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
110 def set_thing(self, thing):
625
85153f422522 Differently yuck get_image().
Jeremy Thurgood <firxen@gmail.com>
parents: 622
diff changeset
111 self._anim_seq = [get_image(thing.folder, x) for x in self._names]
525
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
112 self.image = self._anim_seq[0]
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
113 self.rect = Rect(self._pos, self.image.get_size())
760
f288e5ec0a75 Convert FIXME about animation image size equivalence into an assertion
Stefano Rivera <stefano@rivera.za.net>
parents: 739
diff changeset
114 for image in self._anim_seq:
f288e5ec0a75 Convert FIXME about animation image size equivalence into an assertion
Stefano Rivera <stefano@rivera.za.net>
parents: 739
diff changeset
115 assert image.get_size() == self.rect.size
525
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
116 self.interact_rect = self.rect
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
117
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
118 def animate(self):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
119 if self._anim_seq:
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
120 self._frame_count += 1
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
121 if self._frame_count > self._delay:
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
122 self._frame_count = 0
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
123 self._anim_pos += 1
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
124 if self._anim_pos >= len(self._anim_seq):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
125 self._anim_pos = 0
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
126 self.image = self._anim_seq[self._anim_pos]
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
127 # queue redraw
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
128 return True
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
129 return False
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
130
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
131
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
132 class GenericDescThing(Thing):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
133 "Thing with an InteractiveUnionRect and a description"
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
134
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
135 INITIAL = "description"
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
136
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
137 def __init__(self, prefix, number, description, areas):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
138 super(GenericDescThing, self).__init__()
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
139 self.description = description
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
140 self.name = '%s.%s' % (prefix, number)
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
141 self.interacts = {
533
42742a62f9c3 More pep8 cleanups
Neil Muller <neil@dip.sun.ac.za>
parents: 525
diff changeset
142 'description': InteractRectUnion(areas)
525
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
143 }
578
356795038b87 Remove a couple of uses os DEBUG.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 576
diff changeset
144 # Individual colors to make debugging easier
356795038b87 Remove a couple of uses os DEBUG.
Simon Cross <hodgestar+bzr@gmail.com>
parents: 576
diff changeset
145 self._interact_hilight_color = Color(THECOLORS.keys()[number])
525
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
146
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
147 def get_description(self):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
148 return self.description
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
149
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
150 def is_interactive(self, tool=None):
821b322e903b Separate "scene widgets" from "game-specific widgets".
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
151 return False