Mercurial > boomslang
changeset 490:2e784f978d1a engine_refactor
Add state to Items.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Sun, 29 Aug 2010 15:15:59 +0200 |
parents | 463a8d60c73e |
children | 9f488671c02e |
files | gamelib/state.py |
diffstat | 1 files changed, 11 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- 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>) TOOL_NAME = None - # name for interactions (i.e. def interact_with_<TOOL_NAME>) - 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)