X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=koperkapel%2Fgamelib%2Fenemy_generator.py;h=d854128334b5b57d2143a667444a53447b783d3e;hb=cd69d9169187053686ecbe74d93b6f08a20c826c;hp=1329660b1881140768f557e2912c5e0305a018ee;hpb=ec18a4dde4d14bd4486fb936476266e8511b169b;p=koperkapel.git diff --git a/koperkapel/gamelib/enemy_generator.py b/koperkapel/gamelib/enemy_generator.py index 1329660..d854128 100644 --- a/koperkapel/gamelib/enemy_generator.py +++ b/koperkapel/gamelib/enemy_generator.py @@ -4,7 +4,7 @@ import os from pgzero.actor import Actor from pgzero.clock import each_tick -from .enemy_roach import get_enemy_roach +from .enemy_roach import get_enemy_roach, get_rat, get_robot class EnemyGenerator(Actor): """Generators are currently invisble, but we want the update hook.""" @@ -28,16 +28,27 @@ class EnemyGenerator(Actor): if self._time_since_last_update > self.rate: if len(self._made_enemies) < self.max_enemies: self._make_enemy() + self._time_since_last_update = 0 def _make_enemy(self): if self.enemy_type == 'roach': - roach = get_enemy_roach() + roach = get_enemy_roach(self.level) + self._made_enemies.append(roach) + self.level.add_enemy(roach, *self.gen_pos) + elif self.enemy_type == 'rat': + roach = get_rat(self.level) + self._made_enemies.append(roach) + self.level.add_enemy(roach, *self.gen_pos) + elif self.enemy_type == 'robot': + roach = get_robot(self.level) self._made_enemies.append(roach) self.level.add_enemy(roach, *self.gen_pos) def killed(self, enemy): if enemy in self._made_enemies: self._made_enemies.remove(enemy) + # Delay next respawn so we don't flood the player with enemies + self._time_since_last_update = 0 def pause(self): self.paused = True