comparison gamelib/scenes/bridge.py @ 519:8f3c82c685a4

Fix is_interactive() by adding tool param.
author Jeremy Thurgood <firxen@gmail.com>
date Tue, 07 Sep 2010 18:13:35 +0200
parents 3e91c82c2240
children 821b322e903b
comparison
equal deleted inserted replaced
518:3e91c82c2240 519:8f3c82c685a4
168 168
169 def get_description(self): 169 def get_description(self):
170 return self.state.current_scene.things['bridge.massagechair_base'] \ 170 return self.state.current_scene.things['bridge.massagechair_base'] \
171 .get_description() 171 .get_description()
172 172
173 def is_interactive(self): 173 def is_interactive(self, tool=None):
174 return False 174 return False
175 175
176 176
177 class Stethoscope(Item): 177 class Stethoscope(Item):
178 "Used for cracking safes. Found on the doctor on the chair" 178 "Used for cracking safes. Found on the doctor on the chair"
257 ['stars_%d.png' % (i+1) for i in range(3) + range(1,0,-1)], 30) 257 ['stars_%d.png' % (i+1) for i in range(3) + range(1,0,-1)], 30)
258 } 258 }
259 259
260 INITIAL = 'stars' 260 INITIAL = 'stars'
261 261
262 def is_interactive(self): 262 def is_interactive(self, tool=None):
263 return False 263 return False
264 264
265 265
266 class BlinkingLights(Thing): 266 class BlinkingLights(Thing):
267 267
268 def __init__(self): 268 def __init__(self):
269 super(BlinkingLights, self).__init__() 269 super(BlinkingLights, self).__init__()
270 self.description = None 270 self.description = None
271 271
272 def is_interactive(self): 272 def is_interactive(self, tool=None):
273 return False 273 return False
274 274
275 def leave(self): 275 def leave(self):
276 self.description = random.choice([ 276 self.description = random.choice([
277 "The lights flash in interesting patterns.", 277 "The lights flash in interesting patterns.",
375 'log tab' : InteractNoImage(100, 53, 94, 37) 375 'log tab' : InteractNoImage(100, 53, 94, 37)
376 } 376 }
377 INITIAL = 'log tab' 377 INITIAL = 'log tab'
378 COMPUTER = 'bridge_comp_detail' 378 COMPUTER = 'bridge_comp_detail'
379 379
380 def is_interactive(self): 380 def is_interactive(self, tool=None):
381 return self.state.detail_views[self.COMPUTER].get_data('tab') != 'log' 381 return self.state.detail_views[self.COMPUTER].get_data('tab') != 'log'
382 382
383 def interact_without(self): 383 def interact_without(self):
384 self.state.detail_views[self.COMPUTER].set_data('tab', 'log') 384 self.state.detail_views[self.COMPUTER].set_data('tab', 'log')
385 self.state.detail_views[self.COMPUTER].set_background() 385 self.state.detail_views[self.COMPUTER].set_background()
395 'alert tab' : InteractNoImage(12, 53, 88, 37) 395 'alert tab' : InteractNoImage(12, 53, 88, 37)
396 } 396 }
397 INITIAL = 'alert tab' 397 INITIAL = 'alert tab'
398 COMPUTER = 'bridge_comp_detail' 398 COMPUTER = 'bridge_comp_detail'
399 399
400 def is_interactive(self): 400 def is_interactive(self, tool=None):
401 return self.state.detail_views[self.COMPUTER].get_data('tab') != 'alert' 401 return self.state.detail_views[self.COMPUTER].get_data('tab') != 'alert'
402 402
403 def interact_without(self): 403 def interact_without(self):
404 self.state.detail_views[self.COMPUTER].set_data('tab', 'alert') 404 self.state.detail_views[self.COMPUTER].set_data('tab', 'alert')
405 self.state.detail_views[self.COMPUTER].set_background() 405 self.state.detail_views[self.COMPUTER].set_background()
414 'nav tab' : InteractNoImage(197, 53, 126, 37), 414 'nav tab' : InteractNoImage(197, 53, 126, 37),
415 } 415 }
416 INITIAL = 'nav tab' 416 INITIAL = 'nav tab'
417 COMPUTER = 'bridge_comp_detail' 417 COMPUTER = 'bridge_comp_detail'
418 418
419 def is_interactive(self): 419 def is_interactive(self, tool=None):
420 return self.state.detail_views[self.COMPUTER].get_data('tab') != 'nav' 420 return self.state.detail_views[self.COMPUTER].get_data('tab') != 'nav'
421 421
422 def interact_without(self): 422 def interact_without(self):
423 self.state.detail_views[self.COMPUTER].set_data('tab', 'nav') 423 self.state.detail_views[self.COMPUTER].set_data('tab', 'nav')
424 self.state.detail_views[self.COMPUTER].set_background() 424 self.state.detail_views[self.COMPUTER].set_background()
440 self.interacts['line'] = InteractNoImage(r.x, r.y, r.w, r.h) 440 self.interacts['line'] = InteractNoImage(r.x, r.y, r.w, r.h)
441 # Whether JIM blocks this 441 # Whether JIM blocks this
442 self.ai_blocked = ai_blocked 442 self.ai_blocked = ai_blocked
443 self.set_interact('line') 443 self.set_interact('line')
444 444
445 def is_interactive(self): 445 def is_interactive(self, tool=None):
446 return self.state.detail_views[self.COMPUTER].get_data('tab') == 'nav' 446 return self.state.detail_views[self.COMPUTER].get_data('tab') == 'nav'
447 447
448 def interact_without(self): 448 def interact_without(self):
449 if self.state.scenes['bridge'].get_data('ai status') == 'online': 449 if self.state.scenes['bridge'].get_data('ai status') == 'online':
450 return make_jim_dialog("You are not authorized to change the destination.", self.state) 450 return make_jim_dialog("You are not authorized to change the destination.", self.state)
464 'up' : InteractNoImage(594, 82, 30, 58) 464 'up' : InteractNoImage(594, 82, 30, 58)
465 } 465 }
466 INITIAL = 'up' 466 INITIAL = 'up'
467 COMPUTER = 'bridge_comp_detail' 467 COMPUTER = 'bridge_comp_detail'
468 468
469 def is_interactive(self): 469 def is_interactive(self, tool=None):
470 tab = self.state.detail_views[self.COMPUTER].get_data('tab') 470 tab = self.state.detail_views[self.COMPUTER].get_data('tab')
471 page = self.state.detail_views[self.COMPUTER].get_data('log page') 471 page = self.state.detail_views[self.COMPUTER].get_data('log page')
472 return tab == 'log' and page > 0 472 return tab == 'log' and page > 0
473 473
474 def interact_without(self): 474 def interact_without(self):
487 'down' : InteractNoImage(594, 293, 30, 58) 487 'down' : InteractNoImage(594, 293, 30, 58)
488 } 488 }
489 INITIAL = 'down' 489 INITIAL = 'down'
490 COMPUTER = 'bridge_comp_detail' 490 COMPUTER = 'bridge_comp_detail'
491 491
492 def is_interactive(self): 492 def is_interactive(self, tool=None):
493 tab = self.state.detail_views[self.COMPUTER].get_data('tab') 493 tab = self.state.detail_views[self.COMPUTER].get_data('tab')
494 page = self.state.detail_views[self.COMPUTER].get_data('log page') 494 page = self.state.detail_views[self.COMPUTER].get_data('log page')
495 max_page = self.state.detail_views[self.COMPUTER].get_data('max page') 495 max_page = self.state.detail_views[self.COMPUTER].get_data('max page')
496 return tab == 'log' and (page + 1) < max_page 496 return tab == 'log' and (page + 1) < max_page
497 497