Move roaches to the roach layer.
[koperkapel.git] / koperkapel / scenes / roaches.py
index 429ec8f44bbc4ed85eafac31be5579012bc1b7e5..923e6fde263e3e62da76aed366fab01b048abf69 100644 (file)
@@ -1,6 +1,7 @@
 """ Roach management scene. """
 
 from pgzero.constants import keys
+from ..actors.buttons import TextButton
 from .base import Scene, ChangeSceneEvent
 
 
@@ -8,10 +9,24 @@ class RoachesScene(Scene):
     """ Roach management scene. """
 
     def __init__(self):
-        pass
+        super().__init__()
+        self.actors.add_layer("roaches", level=10)
+        self._roach_actors = {}
 
-    def draw(self, screen, viewport):
-        screen.clear()
+    def update(self, world, dt):
+        for i, roach in enumerate(world.roaches):
+            if roach.name in self._roach_actors:
+                actor = self._roach_actors[roach.name]
+            else:
+                actor = TextButton("%s [%s]" % (
+                    roach.name,
+                    ", ".join("%s=%s" % kv for kv in sorted(
+                        roach.attributes.items()),
+                    )))
+                self._roach_actors[roach.name] = actor
+                self.actors.add(actor, layer="roaches")
+            # TODO: remove missing roaches
+            actor.pos = (300, 100 + i * 100)
 
     def on_key_down(self, key, mod, unicode):
         if key == keys.ESCAPE: