class GameLevelScene(BaseLevelScene):
def enter(self, world):
- print('enter', world['level']['name'], self._level)
if self._level is not None:
+ for generator in self._generators:
+ generator.unpause()
return
super().enter(world)
self._roaches = self.actors.add_layer("roaches", level=10)
self._friends = self.actors.add_layer("friendly roaches", level=9)
self._items = self.actors.add_layer("items", level=9)
+ self._generators = self.actors.add_layer("enemy generators", level=8)
+ self._enemies = self.actors.add_layer("enemies", level=7)
self._vehicle = Vehicle.current(world)
self._mode = 'walk'
self._angle = 0
self._init_items()
self._init_friendly_roaches()
+ self._init_generators()
return self._init_roaches(world)
def _init_items(self):
for friend in self._level.friends:
self._friends.add(friend)
+ def exit(self, world):
+ for generator in self._generators:
+ # We don't want these running while we're on other levels, but we don't want to delete them
+ # here either (because of the vehicle management view)
+ generator.pause()
+
+ def _init_generators(self):
+ for generator in self._level.enemy_generators:
+ self._generators.add(generator)
+ generator.unpause()
+
def _init_roaches(self, world):
x, y = self._level.start_pos
self._level_layer = 'floor'