Mercurial > rinkhals
comparison 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 |
comparison
equal
deleted
inserted
replaced
160:8a11bbafa07f | 161:9b4213f6ea7f |
---|---|
59 elif self.facing == 'right': | 59 elif self.facing == 'right': |
60 self.setimage(self.image_right) | 60 self.setimage(self.image_right) |
61 | 61 |
62 def equip(self, item): | 62 def equip(self, item): |
63 self.equipment.append(item) | 63 self.equipment.append(item) |
64 self.draw_equipment(item) | 64 self.redraw_equipment() |
65 if not equipment.is_weapon(item): | 65 |
66 # redraw weapons on top | 66 def unequip(self, item): |
67 for weapon in self.weapons(): | 67 self.equipment = [e for e in self.equipment if e != item] |
68 self.draw_equipment(weapon) | 68 self.redraw_equipment() |
69 | |
70 def redraw_equipment(self): | |
71 self.equipment.sort(key=lambda x: x.DRAW_LAYER) | |
72 for item in self.equipment: | |
73 self.draw_equipment(item) | |
69 | 74 |
70 def draw_equipment(self, item): | 75 def draw_equipment(self, item): |
71 if not hasattr(self, 'EQUIPMENT_IMAGE_ATTRIBUTE'): | 76 if not hasattr(self, 'EQUIPMENT_IMAGE_ATTRIBUTE'): |
72 return | 77 return |
73 eq_image_attr = getattr(item, self.EQUIPMENT_IMAGE_ATTRIBUTE, 'None') | 78 eq_image_attr = getattr(item, self.EQUIPMENT_IMAGE_ATTRIBUTE, 'None') |