Mercurial > touhou
diff pytouhou/game/enemymanager.py @ 33:1f21bcc0845b
Fix scoping issue with _enemy_deleter
author | Thibaut Girka <thib@sitedethib.com> |
---|---|
date | Sat, 13 Aug 2011 00:24:55 +0200 |
parents | 47543594ff66 |
children | 4d93d45ecb62 |
line wrap: on
line diff
--- a/pytouhou/game/enemymanager.py +++ b/pytouhou/game/enemymanager.py @@ -175,6 +175,12 @@ class EnemyManager(object): self.main[-1][1].append((sub, instr_type, args)) + def make_enemy_deleter(self, enemy): + def _enemy_deleter(unknown): #TODO: unknown + self.enemies.remove(enemy) + return _enemy_deleter + + def update(self, frame): if self.main and self.main[0][0] == frame: for sub, instr_type, args in self.main.pop(0)[1]: @@ -183,10 +189,7 @@ class EnemyManager(object): ecl_runner = ECLRunner(self.ecl, sub) enemy = Enemy((x, y), life, instr_type, ecl_runner, self.anm_wrapper) - def _enemy_deleter(unknown): #TOOD: unknown - self.enemies.remove(enemy) - - ecl_runner.implementation[1] = ('I', _enemy_deleter) + ecl_runner.implementation[1] = ('I', self.make_enemy_deleter(enemy)) self.enemies.append(enemy)