feat(demo): silenciar els efectes de so durant la demo (música intacta)
This commit is contained in:
@@ -164,6 +164,10 @@ GameScene::GameScene(SDLManager& sdl, SceneContext& context)
|
||||
context_.advanceDemoScenario();
|
||||
stage_manager_->initDemo(SC.stage);
|
||||
demo_timer_ = DEMO_DURATION;
|
||||
// Silenciar els SFX durant la demo (la música segueix). Guardem l'estat
|
||||
// previ per restaurar-lo al destructor sense xafar la preferència de l'usuari.
|
||||
sound_was_enabled_ = Audio::get()->isSoundEnabled();
|
||||
Audio::get()->enableSound(false);
|
||||
} else {
|
||||
stage_manager_->init();
|
||||
}
|
||||
@@ -231,6 +235,13 @@ GameScene::GameScene(SDLManager& sdl, SceneContext& context)
|
||||
init_hud_rect_sound_played_ = false;
|
||||
}
|
||||
|
||||
GameScene::~GameScene() {
|
||||
// Si la demo havia silenciat els SFX, restaurar l'estat previ en sortir.
|
||||
if (match_config_.mode == GameConfig::Mode::DEMO) {
|
||||
Audio::get()->enableSound(sound_was_enabled_);
|
||||
}
|
||||
}
|
||||
|
||||
auto GameScene::isFinished() const -> bool {
|
||||
return context_.nextScene() != SceneType::GAME;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user