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