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."""
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