1 """ Roach management scene. """
3 from pgzero.constants import keys
4 from ..actors.buttons import TextButton
5 from .base import Scene, ChangeSceneEvent
8 class RoachesScene(Scene):
9 """ Roach management scene. """
13 self.actors.add_layer("roaches", level=10)
14 self._roach_actors = {}
16 def update(self, world, dt):
17 for i, roach in enumerate(world.roaches):
18 if roach.name in self._roach_actors:
19 actor = self._roach_actors[roach.name]
21 actor = TextButton("%s [%s]" % (
23 ", ".join("%s=%s" % kv for kv in sorted(
24 roach.attributes.items()),
26 self._roach_actors[roach.name] = actor
27 self.actors.add(actor, layer="roaches")
28 # TODO: remove missing roaches
29 actor.pos = (300, 100 + i * 100)
31 def on_key_down(self, key, mod, unicode):
32 if key == keys.ESCAPE:
33 from .menu import MenuScene
34 return [ChangeSceneEvent(MenuScene())]