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')