-
- def get_avatar(self, world):
- raise NotImplementedError("Vehicles should know how to create their own avatars.")
+ cls.register(Quadcopter)
+ cls.register(Robot)
+ cls.register(Roomba)
+
+ def _avatar_frame(self, i, weapon, suffix="_tiles"):
+ vehicle = images.load(safepath("vehicle%s/%s_%d") % (
+ suffix, self.vehicle_type, i + 1))
+ frame = vehicle.copy()
+ if weapon:
+ frame.blit(weapon.surf, (0, 0))
+ return frame
+
+ def get_avatar(self, world=None, dead=False):
+ if not dead:
+ weapon = default_weapons.assemble(
+ world.weapons.current, tape=self.weapons_taped_on)
+ frames = [self._avatar_frame(i, weapon) for i in range(4)]
+ else:
+ frames = [self._avatar_frame(0, weapon=None)]
+ return AnimatedSurfActor(frames, anchor=(0, 0))