From: Simon Cross Date: Wed, 7 Sep 2016 20:11:27 +0000 (+0200) Subject: Fetch pygame polys from ray manager. X-Git-Tag: tabakrolletjie-v1.0.0~195 X-Git-Url: https://git.ctpug.org.za/?a=commitdiff_plain;h=178df0c1aeb419ebedf9db25c599d5e92e564542;hp=1f2682e60071bce98ded8f52747a3742e056d272;p=tabakrolletjie.git Fetch pygame polys from ray manager. --- diff --git a/tabakrolletjie/lights.py b/tabakrolletjie/lights.py index 39b1815..c143b98 100644 --- a/tabakrolletjie/lights.py +++ b/tabakrolletjie/lights.py @@ -155,12 +155,7 @@ class BaseLight(object): white, black = (255, 255, 255), (0, 0, 0) ray_mask.fill(black) - for shape in self.body.shapes: - if shape is self.fitting: - continue - pygame_poly = [ - pymunk.pygame_util.to_pygame(v, surface) for v in - shape.get_vertices()] + for pygame_poly in self.ray_manager.pygame_polys(surface): pygame.draw.polygon(ray_mask, white, pygame_poly, 0) pygame.draw.aalines(ray_mask, white, True, pygame_poly, 1) diff --git a/tabakrolletjie/rays.py b/tabakrolletjie/rays.py index d6d0a69..f7e69cc 100644 --- a/tabakrolletjie/rays.py +++ b/tabakrolletjie/rays.py @@ -67,6 +67,9 @@ class RayPolyManager(object): def polys(self): return [rp.poly(self._body, self._ray_filter) for rp in self._rays] + def pygame_polys(self, surface): + return [rp.pygame_poly(surface) for rp in self._rays] + class RayPoly(object): def __init__(self, start, end, vertices): @@ -78,3 +81,9 @@ class RayPoly(object): shape = pymunk.Poly(body, self.vertices) shape.filter = filter return shape + + def pygame_poly(self, surface): + return [ + pymunk.pygame_util.to_pygame(v, surface) + for v in self.vertices + ]