changeset 512:b10dae40dc32

Fix items.
author Jeremy Thurgood <firxen@gmail.com>
date Sat, 04 Sep 2010 10:38:14 +0200
parents 93ddcac0b772
children 0e8487038834
files gamelib/gamescreen.py gamelib/scenes/machine.py gamelib/state.py
diffstat 3 files changed, 6 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/gamelib/gamescreen.py	Sat Sep 04 09:53:00 2010 +0200
+++ b/gamelib/gamescreen.py	Sat Sep 04 10:38:14 2010 +0200
@@ -39,8 +39,8 @@
         item = self.state.inventory[item_no]
         if self.item_is_selected(item_no):
             self.unselect()
-        elif self.state.tool or hasattr(item, 'interact_without'):
-            result = item.interact(self.state.tool, self.state)
+        elif self.state.tool or item.is_interactive():
+            result = item.interact(self.state.tool)
             handle_result(result, self.state_widget)
         else:
             self.state.set_tool(self.state.inventory[item_no])
--- a/gamelib/scenes/machine.py	Sat Sep 04 09:53:00 2010 +0200
+++ b/gamelib/scenes/machine.py	Sat Sep 04 10:38:14 2010 +0200
@@ -286,7 +286,7 @@
     INVENTORY_IMAGE = "manual.png"
     CURSOR = None
 
-    def interact_without(self, state):
+    def interact_without(self):
         return Result(detail_view='manual_detail')
 
 
--- a/gamelib/state.py	Sat Sep 04 09:53:00 2010 +0200
+++ b/gamelib/state.py	Sat Sep 04 10:38:14 2010 +0200
@@ -544,6 +544,9 @@
     def get_inverse_interact(self, tool):
         return getattr(tool, 'interact_with_' + self.tool_name, None)
 
+    def is_interactive(self):
+        return False
+
 
 class CloneableItem(Item):
     _counter = 0