X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=koperkapel%2Fscenes%2Froaches.py;h=923e6fde263e3e62da76aed366fab01b048abf69;hb=1df183b924e272541198f34c1ebb3d33406192a6;hp=429ec8f44bbc4ed85eafac31be5579012bc1b7e5;hpb=22ae4326a187ae76c6904bc8fbf666d8aa147706;p=koperkapel.git diff --git a/koperkapel/scenes/roaches.py b/koperkapel/scenes/roaches.py index 429ec8f..923e6fd 100644 --- a/koperkapel/scenes/roaches.py +++ b/koperkapel/scenes/roaches.py @@ -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: