Ajout du rendu des zones de detection d'entités dans le renderer en mode DEBUG

This commit is contained in:
Yannis 2024-01-05 18:37:53 +01:00
parent b424bf7aa2
commit 4a88bb4f8f
Signed by: yannis
SSH key fingerprint: SHA256:Bz8K8QiTYUudf8MlthTM9MCLfgiYf/U1md3V9g9Wo14

View file

@ -98,6 +98,7 @@ class Renderer:
self.render_entities(rendered_surface, gui_surface, delta) self.render_entities(rendered_surface, gui_surface, delta)
self.render_particles(rendered_surface, delta) self.render_particles(rendered_surface, delta)
self.render_layer(2, rendered_surface) self.render_layer(2, rendered_surface)
self.render_debug_area(rendered_surface)
# Enfin, on redimensionne notre surface et on la colle sur la fenêtre principale # Enfin, on redimensionne notre surface et on la colle sur la fenêtre principale
self.window.blit( self.window.blit(
@ -125,6 +126,20 @@ class Renderer:
# Apres avoir tout rendu, on met à jour l'écran # Apres avoir tout rendu, on met à jour l'écran
display.update() display.update()
def render_debug_area(self, rendered_surface: surface.Surface):
"""Rend les zones de collisions et de détections quand le mode DEBUG est activé."""
# On calcule le décalage pour centrer la caméra
x_middle_offset = display.get_window_size()[0] / 2 / self.engine.camera.zoom
y_middle_offset = display.get_window_size()[1] / 2 / self.engine.camera.zoom
for area in self.engine.event_sheduler.area_callbacks:
area_rect = area[0]
draw.rect(rendered_surface, (200, 100, 0),
(math.floor(x_middle_offset+area_rect[0]-self.engine.camera.x),
math.floor(y_middle_offset+area_rect[1]-self.engine.camera.y),
math.floor(area_rect[2]), math.floor(area_rect[3])), width=1)
def register_shadow(self, file_path: str, name: str): def register_shadow(self, file_path: str, name: str):
"""Enregistre une image d'ombre utilisée pour le rendu des entités.""" """Enregistre une image d'ombre utilisée pour le rendu des entités."""
shadow = image.load(file_path).convert_alpha() shadow = image.load(file_path).convert_alpha()