comparison gamelib/state.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 dfb6e57feebe
comparison
equal deleted inserted replaced
518:3e91c82c2240 519:8f3c82c685a4
357 def get_detail_size(self): 357 def get_detail_size(self):
358 return self._background.get_size() 358 return self._background.get_size()
359 359
360 360
361 class InteractiveMixin(object): 361 class InteractiveMixin(object):
362 def is_interactive(self): 362 def is_interactive(self, tool=None):
363 return True 363 return True
364 364
365 def interact(self, tool): 365 def interact(self, tool):
366 if not self.is_interactive(): 366 if not self.is_interactive(tool):
367 return None 367 return None
368 if tool is None: 368 if tool is None:
369 return self.interact_without() 369 return self.interact_without()
370 handler = getattr(self, 'interact_with_' + tool.tool_name, None) 370 handler = getattr(self, 'interact_with_' + tool.tool_name, None)
371 inverse_handler = self.get_inverse_interact(tool) 371 inverse_handler = self.get_inverse_interact(tool)
521 return self.inventory_image 521 return self.inventory_image
522 522
523 def get_inverse_interact(self, tool): 523 def get_inverse_interact(self, tool):
524 return getattr(tool, 'interact_with_' + self.tool_name, None) 524 return getattr(tool, 'interact_with_' + self.tool_name, None)
525 525
526 def is_interactive(self): 526 def is_interactive(self, tool=None):
527 if tool:
528 return True
527 return False 529 return False
528 530
529 531
530 class CloneableItem(Item): 532 class CloneableItem(Item):
531 _counter = 0 533 _counter = 0