diff --git a/tools.py b/tools.py index 7f6d2e9..622836b 100644 --- a/tools.py +++ b/tools.py @@ -1,6 +1,9 @@ import pygame as pg from queue import Queue +from collider.types import CircleCollider, ConvexCollider, BaseCollider +from transform import Transform + def _debug(fn): def wrapper(self: 'Debug', *args, **kwargs): if not self.enabled: return @@ -48,15 +51,24 @@ class Debug: @_debug - def draw_collider(self, collider, t): + def draw_collider(self, collider: BaseCollider, t: Transform): def _draw_collider(): - h = collider.hull(t) - pg.draw.lines( - self._screen, - color=(0,255,255), - points=[v for v in h.vertices()], - closed=True - ) + if isinstance(collider, ConvexCollider): + h = collider.hull(t) + pg.draw.lines( + self._screen, + color=(0,255,255), + points=[v for v in h.vertices()], + closed=True + ) + if isinstance(collider, CircleCollider): + pg.draw.circle( + self._screen, + color=(0,255,255), + center=t.position, + radius=collider.radius, + width=1 + ) self._debug_queue.put(_draw_collider)