My Pygame Game Engine
at main 1.4 kB view raw
1from .gui import * 2import time 3 4class Debug: 5 def __init__(self, game) -> None: 6 self.game = game 7 8 self.debug_gui = gui_rect(game) 9 self.debug_gui.set_x_constraint(percentage_constraint(0.55)) 10 self.debug_gui.set_y_constraint(percentage_constraint(0.6)) 11 self.debug_gui.set_width_constraint(percentage_constraint(0.44)) 12 self.debug_gui.set_height_constraint(percentage_constraint(0.38)) 13 self.debug_gui.set_border_radius(10) 14 self.debug_gui.set_draw_color(self.game.color_handler.get_rgb('console.background')) 15 16 self.update_time = 0 17 self.render_time = 0 18 19 self.frame_ms = 0 20 21 self.fps_start_time = time.time() 22 self.fps_end_time = 0 23 24 self.latest_readings = 0 25 26 self.fps = 0 27 28 self.render_hud = False 29 30 def send_stats(self, update_time, render_time): 31 self.update_time = update_time * 1000 32 self.render_time = render_time * 1000 33 self.frame_ms = (self.update_time + self.render_time) * 1000 34 35 def update(self): 36 self.debug_gui.update() 37 self.fps_end_time = time.time() 38 self.latest_readings += self.frame_ms 39 if self.fps_end_time - self.fps_start_time > 1: 40 self.fps_start_time = time.time() 41 self.latest_readings = 0 42 43 def render(self): 44 if self.render_hud: 45 self.debug_gui.render()