Add roach_at helper.
[koperkapel.git] / koperkapel / roaches.py
index 653f085aa6a39f4a64ebc2d9d89311da2dad0f42..6dedf305fd3b50b96e3da5c2e748b9f32551964e 100644 (file)
@@ -4,18 +4,25 @@ import random
 from pgzero.clock import each_tick
 from pgzero.loaders import images
 from pygame.constants import BLEND_RGBA_MULT
-from .actors.surf import SurfActor
+from .actors.orientatedsurf import OrientatedSurfActor
 from .serums import roach_serum_color
 
 
-class RoachActor(SurfActor):
+def roach_by_name(world, roach_name):
+    roaches = [r for r in world.roaches if r.name == roach_name]
+    if not roaches:
+        return None
+    return roaches[0]
+
+
+class RoachActor(OrientatedSurfActor):
     def __init__(self, frames):
         self._frames = frames
         self._frame = random.randint(0, len(frames) - 1)
         self._dt = 0
         self._cycle_dt = 0.2
         each_tick(self.update)
-        super().__init__(surf=frames[self._frame])
+        super().__init__(surf=frames[self._frame], angle=0)
 
     def update(self, dt):
         self._dt += dt