Mercurial > rinkhals
comparison gamelib/animal.py @ 163:0d6e23dcd3af
fixed redrawing
author | Adrianna Pińska <adrianna.pinska@gmail.com> |
---|---|
date | Thu, 03 Sep 2009 22:22:57 +0000 |
parents | 9b4213f6ea7f |
children | 9ea53eb919cf |
comparison
equal
deleted
inserted
replaced
162:fa57868123d7 | 163:0d6e23dcd3af |
---|---|
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.redraw_equipment() | 64 self.redraw() |
65 | 65 |
66 def unequip(self, item): | 66 def unequip(self, item): |
67 self.equipment = [e for e in self.equipment if e != item] | 67 self.equipment = [e for e in self.equipment if e != item] |
68 self.redraw_equipment() | 68 self.redraw() |
69 | 69 |
70 def redraw_equipment(self): | 70 def redraw(self): |
71 self.image_left = self._image_left.copy() | |
72 self.image_right = self._image_right.copy() | |
71 self.equipment.sort(key=lambda x: x.DRAW_LAYER) | 73 self.equipment.sort(key=lambda x: x.DRAW_LAYER) |
72 for item in self.equipment: | 74 for item in self.equipment: |
73 self.draw_equipment(item) | 75 self.draw_equipment(item) |
76 self._set_image_facing(self.facing) | |
74 | 77 |
75 def draw_equipment(self, item): | 78 def draw_equipment(self, item): |
76 if not hasattr(self, 'EQUIPMENT_IMAGE_ATTRIBUTE'): | 79 if not hasattr(self, 'EQUIPMENT_IMAGE_ATTRIBUTE'): |
77 return | 80 return |
78 eq_image_attr = getattr(item, self.EQUIPMENT_IMAGE_ATTRIBUTE, 'None') | 81 eq_image_attr = getattr(item, self.EQUIPMENT_IMAGE_ATTRIBUTE, 'None') |
80 return | 83 return |
81 eq_image_left = imagecache.load_image(eq_image_attr) | 84 eq_image_left = imagecache.load_image(eq_image_attr) |
82 eq_image_right = imagecache.load_image(eq_image_attr, ("right_facing",)) | 85 eq_image_right = imagecache.load_image(eq_image_attr, ("right_facing",)) |
83 self.image_left.blit(eq_image_left, (0, 0)) | 86 self.image_left.blit(eq_image_left, (0, 0)) |
84 self.image_right.blit(eq_image_right, (0, 0)) | 87 self.image_right.blit(eq_image_right, (0, 0)) |
85 self._set_image_facing(self.facing) | |
86 | 88 |
87 def weapons(self): | 89 def weapons(self): |
88 return [e for e in self.equipment if equipment.is_weapon(e)] | 90 return [e for e in self.equipment if equipment.is_weapon(e)] |
89 | 91 |
90 def covers(self, tile_pos): | 92 def covers(self, tile_pos): |