""" Roach management scene. """
from pgzero.constants import keys
+from pgzero.actor import Actor
from ..actors.buttons import TextButton
+from ..constants import WIDTH, HEIGHT
from .base import Scene, ChangeSceneEvent
def __init__(self):
super().__init__()
self._roach_actors = {}
+ self._roaches = self.actors.add_layer("roaches", level=10)
+ self._pads = self.actors.add_layer("pads", level=5)
+ self._init_pads()
+
+ def _init_pads(self):
+ self._roach_pad = self._pads.add(
+ Actor("roach_management/roach_pad"))
+ self._roach_pad.pos = (WIDTH * (7/8), HEIGHT * (1/4))
+ self._inventory_pad = self._pads.add(
+ Actor("roach_management/inventory_pad"))
+ self._inventory_pad.pos = (WIDTH * (7/8), HEIGHT * (3/4))
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"]]
+ if roach.name in self._roach_actors:
+ actor = self._roach_actors[roach.name]
else:
actor = TextButton("%s [%s]" % (
- roach["name"],
+ roach.name,
", ".join("%s=%s" % kv for kv in sorted(
- roach["attributes"].items()),
+ roach.attributes.items()),
)))
- self._roach_actors[roach["name"]] = actor
- self.actors.add(actor)
+ self._roach_actors[roach.name] = actor
+ self._roaches.add(actor)
# TODO: remove missing roaches
actor.pos = (300, 100 + i * 100)