Example #1
0
    def __init__(self, app):
        super(WinScene, self).__init__(app)
        
        self.space = Space((400, 400))
        
        def f(a, b):
            if __debug__: pass#print "missing collision function tuple type (%s, %s)" % (a.__class__.__name__, b.__class__.__name__)
        
        #self.coll_funcs = coolections.defaultdict(lambda: lambda *args, **kwargs: None) # {(type1, type2): func}
        self.coll_funcs = collections.defaultdict(lambda: f) # {(type1, type2): func}

        self.coll_funcs[(Bullet, Player)] = self.coll_player_bullet
        #self.coll_funcs[(Player, Polygon)] = self.coll_player_obstacle
        self.coll_funcs[(Bullet, Polygon)] = self.coll_bullet_obstacle
        self.coll_funcs[(Flock, Polygon)] = self.coll_flock_obstacle
        self.coll_funcs[(Flock, Bullet)] = self.coll_flock_bullet
        self.coll_funcs[(Bullet, Flock)] = self.coll_bullet_flock
        self.coll_funcs[(Player, Flock)] = self.coll_player_flock
        self.coll_funcs[(Player, Trigger)] = self.coll_player_trigger

        self.splines = []
        self.flocks = []
        self.obstacles = []
        self.enemies = []
        self.triggers = []
        self.bullets = []
        
        self.dynamic = []
        self.static = []
        
        self.winlabel = None
        self.winmsg = "You win!"
        self.campos = Vec3(0.0, 0.0)
        self.last_lead = Vec3(0.0, 0.0)
        
        self.bg_image = pyglet.image.load("data/textures/background.png")
        self.bg_texture = pyglet.image.TileableTexture.create_for_image(self.bg_image)
        self.level_file = None #self.app.level_file
        
        self.load_level()
        
        self.cam_spline = None
        for spl in self.splines:
            if spl.kind == 2: # camera spline
                self.cam_spline = spl
        if self.cam_spline is None:
            print "wtf mate"
        self.t = 0