From 2146cacc48555f90c2d123f69680dc464813d724 Mon Sep 17 00:00:00 2001 From: adastram Date: Tue, 9 Jan 2024 11:59:23 +0100 Subject: [PATCH] Implemented single global sound stop --- src/engine/sound_manager.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/engine/sound_manager.py b/src/engine/sound_manager.py index ecf6a49..ee17bd3 100644 --- a/src/engine/sound_manager.py +++ b/src/engine/sound_manager.py @@ -163,6 +163,8 @@ class SoundManager: self.sound_currently_playing[self.create_unique_id()] = [sound, max_volume, [pos_x, pos_y], stop_at] # Format {unique_id : [Sound, max_volume, [pos_x, pos_y], stop_at] + def sound_stop(self, name: str, all: bool = False): + return def sound_global_play(self, name: str, volume: float): """Joue un son avec le même son dans tout le monde""" @@ -173,7 +175,16 @@ class SoundManager: self.sound_global_currently_playing[self.create_unique_id()] = [sound, volume, stop_at] sound.play() - def sound_global_stop(self, name: str, all: bool = False): + def sound_global_stop(self, name: str, unique_id: float = None, all: bool = False): if all: for key in self.sound_global_currently_playing.keys(): - self.sound_global_currently_playing.pop(key)[0].stop() \ No newline at end of file + self.sound_global_currently_playing.pop(key)[0].stop() + + elif unique_id: + sound_container = self.sound_global_currently_playing.get(unique_id, None) + if sound_container: + self.sound_global_currently_playing.pop(unique_id)[0].stop() + else: + for key in self.sound_global_currently_playing.keys(): + if self.sound_loaded[name] == self.sound_global_currently_playing[key][0]: + self.sound_global_currently_playing[key].pop().stop() \ No newline at end of file