diff --git a/src/engine/dialogs_manager.py b/src/engine/dialogs_manager.py index fd2c538..0faec80 100644 --- a/src/engine/dialogs_manager.py +++ b/src/engine/dialogs_manager.py @@ -36,6 +36,7 @@ class DialogsManager: def next_dialog(self): """Passe au dialogue suivant. Appelle le callback si le dialogue est fini.""" self.current_dialog_id += 1 + self.current_dialogue_letter_id = 0 self.writing_dialog = True if self.current_dialog_id >= len(self.current_dialogs): # Le dialogue est fini. self.current_dialogs = [] @@ -51,7 +52,7 @@ class DialogsManager: # Si un dialogue n'est pas déja lancé, on lance le dialogue au nom donné if not self.reading_dialog: - self.event_handler.register_button_area((0, 0, 1, 1), self.next_signal, "next_dialog", 0) + self.event_handler.register_button_area((0, 0, 1, 1), self.next_signal, "next_dialog", 2) self.current_dialogs = self.dialogs[name] self.current_dialog_id = 0 @@ -84,6 +85,3 @@ class DialogsManager: if self.current_dialogue_letter_id > len(self.current_dialogs[self.current_dialog_id]): self.current_dialogue_letter_id -= 1 self.writing_dialog = False - - #print(self.writing_dialog, self.reading_dialog) - diff --git a/src/engine/event_handler.py b/src/engine/event_handler.py index e14cf13..c4c976d 100644 --- a/src/engine/event_handler.py +++ b/src/engine/event_handler.py @@ -29,6 +29,10 @@ class EventHandler: return (rect[0]*window_size[1] < point[0] < rect[0]*window_size[1] + rect[2]*window_size[1] and rect[1]*window_size[1] < point[1] < rect[1]*window_size[1] + rect[3]*window_size[1]) + elif is_window_relative == 2: + return (rect[0]*window_size[0] < point[0] < rect[0]*window_size[0] + rect[2]*window_size[0] and + rect[1]*window_size[1] < point[1] < rect[1]*window_size[1] + rect[3]*window_size[1]) + return rect[0] < point[0] < rect[0] + rect[2] and rect[1] < point[1] < rect[1] + rect[3] def register_button_area(self, rect: tuple[float | int, float | int, float | int, float | int], diff --git a/src/engine/renderer.py b/src/engine/renderer.py index c39b1b5..804fa29 100644 --- a/src/engine/renderer.py +++ b/src/engine/renderer.py @@ -138,6 +138,10 @@ class Renderer: draw.rect(self.window, (255, 255, 0), (area[0][0] * window_size[1], area[0][1] * window_size[1], area[0][2] * window_size[1], area[0][3] * window_size[1]), width=1) + elif area[2] == 2: + draw.rect(self.window, (255, 255, 0), + (area[0][0] * window_size[0], area[0][1] * window_size[1], + area[0][2] * window_size[0], area[0][3] * window_size[1]), width=1) else: draw.rect(self.window, (255, 255, 0), area[0], width=1)