jail_audio: ultima versió

Audio: separació de sons per canals
Game: el fade de so de game over ja no afecta al so de la UI (no funciona o no ho faig be)
This commit is contained in:
2025-07-01 20:32:02 +02:00
parent 9575518ae5
commit e34d22c8dd
7 changed files with 158 additions and 218 deletions

View File

@@ -6,6 +6,13 @@
class Audio
{
public:
enum class Group : int
{
ALL = -1,
GAME = 0,
INTERFACE = 1
};
// --- Métodos de singleton ---
static void init(); // Inicializa el objeto Audio
static void destroy(); // Libera el objeto Audio
@@ -18,8 +25,8 @@ public:
void fadeOutMusic(int milliseconds); // Fundido de salida de la música
// --- Control de Sonidos ---
void playSound(const std::string &name); // Reproducir sonido puntual
void stopAllSounds(); // Detener todos los sonidos
void playSound(const std::string &name, Group group = Group::GAME); // Reproducir sonido puntual
void stopAllSounds(); // Detener todos los sonidos
// --- Configuración General ---
void enable(bool value); // Establecer estado general
@@ -39,8 +46,8 @@ public:
void toggleMusic() { music_enabled_ = !music_enabled_; } // Alternar estado de música
// --- Control de Volumen ---
void setSoundVolume(int volume); // Ajustar volumen de efectos
void setMusicVolume(int volume); // Ajustar volumen de música
void setSoundVolume(int volume, Group group = Group::ALL); // Ajustar volumen de efectos
void setMusicVolume(int volume); // Ajustar volumen de música
private:
enum class MusicState