comparison gamelib/state.py @ 491:9f488671c02e engine_refactor

No more state in Item interacts.
author Jeremy Thurgood <firxen@gmail.com>
date Sun, 29 Aug 2010 19:58:35 +0200
parents 2e784f978d1a
children c1f4f9149349
comparison
equal deleted inserted replaced
490:2e784f978d1a 491:9f488671c02e
530 self.state = state 530 self.state = state
531 531
532 def get_inventory_image(self): 532 def get_inventory_image(self):
533 return self.inventory_image 533 return self.inventory_image
534 534
535 def interact(self, tool, state): 535 def interact(self, tool):
536 if tool is None: 536 if tool is None:
537 return self.interact_without(state) 537 return self.interact_without(state)
538 handler = getattr(self, 'interact_with_' + tool.name, None) 538 handler = getattr(self, 'interact_with_' + tool.name, None)
539 inverse_handler = getattr(tool, 'interact_with_' + self.tool_name, None) 539 inverse_handler = getattr(tool, 'interact_with_' + self.tool_name, None)
540 if handler is not None: 540 if handler is not None:
541 return handler(tool, state) 541 return handler(tool)
542 elif inverse_handler is not None: 542 elif inverse_handler is not None:
543 return inverse_handler(self, state) 543 return inverse_handler(self)
544 else: 544 else:
545 return self.interact_default(tool, state) 545 return self.interact_default(tool)
546
547 def interact_default(self, tool, state):
548 return Result("That doesn't do anything useful")
549 546
550 547
551 class CloneableItem(Item): 548 class CloneableItem(Item):
552 _counter = 0 549 _counter = 0
553 550