view pytouhou/vm/__init__.py @ 604:aca9551ee8b4

Fix compiling issues with Cython 0.20 ; don't pretend to concat shader sources
author Thibaut Girka <thib@sitedethib.com>
date Tue, 11 Nov 2014 15:46:31 +0100
parents d471b07ce4fd
children d1f0bb0b7a17
line wrap: on
line source

from .anmrunner import ANMRunner
from .msgrunner import MSGRunner
from .eclrunner import ECLMainRunner


class PythonMainRunner(object):
    def __init__(self, main, game):
        self.main = main
        self.game = game

    def run_iter(self):
        self.main(self.game)


class EnemyRunner(object):
    def __init__(self, enemy, game, sub):
        self.enemy = enemy
        self.game = game
        self.sub = sub

    def run_iteration(self):
        self.sub(self.enemy, self.game)


def spawn_enemy(game, sub, x=0., y=0., life=1, item=-1, score=0, mirrored=False, random=False):
    instr_type = (2 if mirrored else 0) | (4 if random else 0)
    enemy = game.new_enemy((x, y, 0.), life, instr_type, item, score)
    enemy.process = EnemyRunner(enemy, game, sub)
    enemy.process.run_iteration()