added circle case for collider rendering

This commit is contained in:
=
2026-03-12 15:03:33 -04:00
parent 92507d1287
commit c7fd7f0d25

View File

@@ -1,6 +1,9 @@
import pygame as pg import pygame as pg
from queue import Queue from queue import Queue
from collider.types import CircleCollider, ConvexCollider, BaseCollider
from transform import Transform
def _debug(fn): def _debug(fn):
def wrapper(self: 'Debug', *args, **kwargs): def wrapper(self: 'Debug', *args, **kwargs):
if not self.enabled: return if not self.enabled: return
@@ -48,8 +51,9 @@ class Debug:
@_debug @_debug
def draw_collider(self, collider, t): def draw_collider(self, collider: BaseCollider, t: Transform):
def _draw_collider(): def _draw_collider():
if isinstance(collider, ConvexCollider):
h = collider.hull(t) h = collider.hull(t)
pg.draw.lines( pg.draw.lines(
self._screen, self._screen,
@@ -57,6 +61,14 @@ class Debug:
points=[v for v in h.vertices()], points=[v for v in h.vertices()],
closed=True 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) self._debug_queue.put(_draw_collider)