# HG changeset patch # User Jeremy Thurgood # Date 1283087759 -7200 # Node ID 2e784f978d1aa2314dbd5fac5d41f78fb289613d # Parent 463a8d60c73eb57f5aa68e3f4cedd9000fe7bce5 Add state to Items. diff -r 463a8d60c73e -r 2e784f978d1a gamelib/state.py --- a/gamelib/state.py Sun Aug 29 13:27:29 2010 +0200 +++ b/gamelib/state.py Sun Aug 29 15:15:59 2010 +0200 @@ -112,6 +112,7 @@ def add_item(self, item): self.items[item.name] = item + item.set_state(self) def load_scenes(self, modname): mod = __import__("gamelib.scenes.%s" % (modname,), fromlist=[modname]) @@ -505,16 +506,17 @@ # image for inventory INVENTORY_IMAGE = None + # name of item + NAME = None + # name for interactions (i.e. def interact_with_) TOOL_NAME = None - # name for interactions (i.e. def interact_with_) - NAME = None - # set to instance of CursorSprite CURSOR = None def __init__(self, name=None): + self.state = None self.name = self.NAME if name is not None: self.name = name @@ -523,6 +525,10 @@ self.tool_name = self.TOOL_NAME self.inventory_image = get_image('items', self.INVENTORY_IMAGE) + def set_state(self, state): + assert self.state is None + self.state = state + def get_inventory_image(self): return self.inventory_image @@ -551,8 +557,6 @@ return cls._counter - 1 def __init__(self, name=None): + super(CloneableItem, self).__init__(name) my_count = self._get_new_id() - super(CloneableItem, self).__init__("%s.%s" % (name, my_count)) - self.tool_name = name - if self.TOOL_NAME is not None: - self.tool_name = self.TOOL_NAME + self.name = "%s.%s" % (self.name, my_count)