# HG changeset patch # User Thibaut Girka # Date 1313187895 -7200 # Node ID 1f21bcc0845baf94ed7fd2bc41c393169c9c1244 # Parent 47543594ff66ed00591f1b77f88a12d088f1394f Fix scoping issue with _enemy_deleter diff --git a/pytouhou/game/enemymanager.py b/pytouhou/game/enemymanager.py --- 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)