Added sound volume control in engine

This commit is contained in:
Adastram 2024-01-10 10:31:58 +01:00
parent f95ff4834a
commit 988500af43
2 changed files with 9 additions and 5 deletions

View file

@ -9,6 +9,7 @@ from src.engine.menu_manager import MenuManager
from src.engine.renderer import Renderer from src.engine.renderer import Renderer
from src.engine.enums import GameState from src.engine.enums import GameState
from src.engine.sound_manager import SoundManager from src.engine.sound_manager import SoundManager
from src.engine.settings_manager import SettingsManager
import pygame import pygame
@ -39,6 +40,7 @@ class Engine:
self.dialogs_manager = DialogsManager(self.event_handler) self.dialogs_manager = DialogsManager(self.event_handler)
self.menu_manager = MenuManager(self) self.menu_manager = MenuManager(self)
self.sound_manager = SoundManager(60) self.sound_manager = SoundManager(60)
self.settings_manager = SettingsManager()
def loop(self): def loop(self):
"""Fonction à lancer au début du programme et qui va lancer les updates dans une boucle. """Fonction à lancer au début du programme et qui va lancer les updates dans une boucle.
@ -57,7 +59,9 @@ class Engine:
self.event_handler.update() self.event_handler.update()
self.event_sheduler.update() self.event_sheduler.update()
self.dialogs_manager.update(0.016666666) self.dialogs_manager.update(0.016666666)
self.sound_manager.update(1/60) self.sound_manager.update(1/60, self.settings_manager.get_music_master_volume(),
self.settings_manager.get_sound_global_master_volume(),
self.settings_manager.get_sound_master_volume())
def stop(self): def stop(self):
"""Arrête le programme.""" """Arrête le programme."""

View file

@ -1,9 +1,9 @@
class Settings: class SettingsManager:
def __init__(self) -> None: def __init__(self) -> None:
self.master_volume = 60 self.master_volume = 60
self.sound_master_volume = 100 self.sound_master_volume = 100
self.music_master_volume = 100 self.music_master_volume = 100
self.global_sound_master_volume = 100 self.sound_global_master_volume = 100
self.zoom = 1.75 self.zoom = 1.75
@ -11,8 +11,8 @@ class Settings:
def get_music_master_volume(self): def get_music_master_volume(self):
return round(self.master_volume / 100 * self.music_master_volume, 3) return round(self.master_volume / 100 * self.music_master_volume, 3)
def get_global_sound_master_volume(self): def get_sound_global_master_volume(self):
return round(self.master_volume / 100 * self.global_sound_master_volume, 3) return round(self.master_volume / 100 * self.sound_global_master_volume, 3)
def get_sound_master_volume(self): def get_sound_master_volume(self):
return round(self.master_volume / 100 * self.sound_master_volume, 3) return round(self.master_volume / 100 * self.sound_master_volume, 3)