- serum_actor = self._serums.add(
- big_serums.assemble(serums[self._inventory_pos]))
- serum_actor.pos = self._inventory_pad.center
+ serum_actor = self._serum_actors[serums[self._inventory_pos]]
+ inv_pad_centre = self._inventory_pad.center
+ serum_actor.pos = (
+ inv_pad_centre[0] + SERUM_OFFSET[0],
+ inv_pad_centre[1] + SERUM_OFFSET[1])
+ self._inventory_layer.add(serum_actor)
+
+ def _update_roaches(self, world):
+ self._roach_layer.clear()
+ seating = self._vehicle.seating(world)
+ outside_roaches = []
+ for roach in world.roaches:
+ seat_pos = seating.get(roach.name)
+ if seat_pos is not None:
+ roach_actor = self._roach_actors[roach.name]
+ roach_actor.pos = self._seat_layer[seat_pos].pos
+ self._roach_layer.add(roach_actor)
+ else:
+ outside_roaches.append(roach.name)
+ self._outside_roach_pos %= len(outside_roaches)
+ if outside_roaches:
+ roach_actor = self._roach_actors[
+ outside_roaches[self._outside_roach_pos]]
+ roach_pad_center = self._roach_pad.center
+ roach_actor.pos = (
+ roach_pad_center[0] + ROACH_PAD_OFFSET[0],
+ roach_pad_center[1] + ROACH_PAD_OFFSET[1])
+ self._roach_layer.add(roach_actor)