comparison gamelib/scenes/crew_quarters.py @ 350:125cb389ab90

Hook up poster. Add cameras to crew_quarters and bridge
author Neil Muller <neil@dip.sun.ac.za>
date Sat, 28 Aug 2010 15:31:45 +0200
parents e1cae2b61443
children bfb6c682b4fb
comparison
equal deleted inserted replaced
349:0cc6ee8f2827 350:125cb389ab90
2 2
3 from gamelib.cursor import CursorSprite 3 from gamelib.cursor import CursorSprite
4 from gamelib.state import Scene, Item, Thing, Result 4 from gamelib.state import Scene, Item, Thing, Result
5 from gamelib.scenes.scene_widgets import (Door, InteractText, InteractNoImage, 5 from gamelib.scenes.scene_widgets import (Door, InteractText, InteractNoImage,
6 InteractRectUnion, InteractImage, 6 InteractRectUnion, InteractImage,
7 InteractAnimated, GenericDescThing) 7 InteractAnimated, GenericDescThing,
8 BaseCamera)
8 9
9 class CrewQuarters(Scene): 10 class CrewQuarters(Scene):
10 11
11 FOLDER = "crew_quarters" 12 FOLDER = "crew_quarters"
12 BACKGROUND = "crew_quarters.png" 13 BACKGROUND = "crew_quarters.png"
23 self.add_thing(Safe()) 24 self.add_thing(Safe())
24 self.add_thing(FishbowlThing()) 25 self.add_thing(FishbowlThing())
25 self.add_thing(Safe()) 26 self.add_thing(Safe())
26 self.add_item(Fishbowl('fishbowl')) 27 self.add_item(Fishbowl('fishbowl'))
27 self.add_item(DuctTape('duct_tape')) 28 self.add_item(DuctTape('duct_tape'))
29 self.add_item(EscherPoster('escher_poster'))
30 self.add_thing(PosterThing())
31 self.add_thing(MonitorCamera())
28 self.add_thing(GenericDescThing('crew.plant', 1, 32 self.add_thing(GenericDescThing('crew.plant', 1,
29 "The plant is doing surprisingly well for centuries of neglect", 33 "The plant is doing surprisingly well for centuries of neglect",
30 ((624, 215, 61, 108),))) 34 ((624, 215, 61, 108),)))
31 self.add_thing(GenericDescThing('crew.cat', 2, 35 self.add_thing(GenericDescThing('crew.cat', 2,
32 "A picture of a cat labelled 'Clementine'", 36 "A picture of a cat labelled 'Clementine'",
147 151
148 INVENTORY_IMAGE = 'duct_tape.png' 152 INVENTORY_IMAGE = 'duct_tape.png'
149 CURSOR = CursorSprite('duct_tape.png') 153 CURSOR = CursorSprite('duct_tape.png')
150 154
151 155
152 class SafeDetail(Scene): 156 class MonitorCamera(BaseCamera):
157 "A Camera pointing to JIM"
153 158
154 FOLDER = 'crew_quarters' 159 NAME = 'crew.camera'
155 BACKGROUND = None # TODO
156 NAME = 'safe_detail'
157 160
158 SIZE = (300, 300) 161 INTERACTS = {
162 'camera' : InteractImage(85, 97, 'camera_medium.png')
163 }
159 164
160 def __init__(self, state): 165
161 super(SafeDetail, self).__init__(state) 166 class PosterThing(Thing):
167 "A innocent poster on the wall"
168
169 NAME = 'crew.poster'
170
171 INTERACTS = {
172 'poster': InteractImage(29, 166, 'triangle_poster.png'),
173 }
174
175 INITIAL = 'poster'
176
177 def interact_without(self):
178 self.state.add_inventory_item('escher_poster')
179 self.scene.remove_thing(self)
180 return Result("This poster will go nicely on your bedroom wall.")
181
182 def get_description(self):
183 return "A paradoxial poster hanges below the security camera"
184
185
186 class EscherPoster(Item):
187 "A confusing poster to disable JIM"
188
189 INVENTORY_IMAGE = "triangle_poster.png"
190 CURSOR = CursorSprite('triangle_poster.png')
191 NAME = "escher_poster"
162 192
163 193
164 SCENES = [CrewQuarters] 194 SCENES = [CrewQuarters]
165 DETAIL_VIEWS = [SafeDetail]