Mercurial > rinkhals
diff gamelib/animal.py @ 161:9b4213f6ea7f
improved equipment layers; unequip method on animal
author | Adrianna Pińska <adrianna.pinska@gmail.com> |
---|---|
date | Thu, 03 Sep 2009 22:16:09 +0000 |
parents | baf857805867 |
children | 0d6e23dcd3af |
line wrap: on
line diff
--- a/gamelib/animal.py Thu Sep 03 22:15:35 2009 +0000 +++ b/gamelib/animal.py Thu Sep 03 22:16:09 2009 +0000 @@ -61,11 +61,16 @@ def equip(self, item): self.equipment.append(item) - self.draw_equipment(item) - if not equipment.is_weapon(item): - # redraw weapons on top - for weapon in self.weapons(): - self.draw_equipment(weapon) + self.redraw_equipment() + + def unequip(self, item): + self.equipment = [e for e in self.equipment if e != item] + self.redraw_equipment() + + def redraw_equipment(self): + self.equipment.sort(key=lambda x: x.DRAW_LAYER) + for item in self.equipment: + self.draw_equipment(item) def draw_equipment(self, item): if not hasattr(self, 'EQUIPMENT_IMAGE_ATTRIBUTE'):