X-Git-Url: https://git.ctpug.org.za/?p=koperkapel.git;a=blobdiff_plain;f=koperkapel%2Fscenes%2Flevel.py;h=a1515997dc48d470044925e0193495cc904d4add;hp=60e230568575670baa72e1de4a4d3f1ffce1dab2;hb=55653b221b6c5ca3c12cdb27412a6773f87c4448;hpb=96dd67b1005fa0123f96409cecb62ae1a2342152 diff --git a/koperkapel/scenes/level.py b/koperkapel/scenes/level.py index 60e2305..a151599 100644 --- a/koperkapel/scenes/level.py +++ b/koperkapel/scenes/level.py @@ -84,18 +84,22 @@ class BaseLevelScene(Scene): 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): @@ -106,6 +110,17 @@ class GameLevelScene(BaseLevelScene): 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'