Mercurial > boomslang
diff gamelib/state.py @ 166:0db92b3b5833
Add inventory interactions
author | Neil Muller <neil@dip.sun.ac.za> |
---|---|
date | Wed, 25 Aug 2010 12:03:08 +0200 |
parents | 5184d30669b5 |
children | 5845a3ed4dad |
line wrap: on
line diff
--- a/gamelib/state.py Wed Aug 25 11:19:30 2010 +0200 +++ b/gamelib/state.py Wed Aug 25 12:03:08 2010 +0200 @@ -551,3 +551,16 @@ def get_inventory_image(self): return self.inventory_image + def interact(self, tool): + handler = getattr(self, 'interact_with_' + tool.name, None) + inverse_handler = getattr(tool, 'interact_with_' + self.name, None) + if handler is not None: + return handler(tool) + elif inverse_handler is not None: + return inverse_handler(self) + else: + return self.interact_default(tool) + + def interact_default(self, tool): + return Result("That doesn't do anything useful") +