From 10c92d7f54759d9356ac948f6d019a82e40e3f4d Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sat, 13 Mar 2021 11:34:59 -0500 Subject: Added pause menu open and close sound #7 --- src/menu_system.cpp | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'src/menu_system.cpp') diff --git a/src/menu_system.cpp b/src/menu_system.cpp index 468fa6e..6b03fca 100644 --- a/src/menu_system.cpp +++ b/src/menu_system.cpp @@ -44,7 +44,8 @@ void MenuSystem::openPauseMenu() { MenuBuilder().Command("Resume Game") .ActivationFunction([] (Game& game) { game.getSystem().closePauseMenu(); - }), + }) + .SkipSoundEffect(), MenuBuilder().Command("Quit") .ActivationFunction([] (Game& game) { game.quit(); @@ -54,7 +55,7 @@ void MenuSystem::openPauseMenu() { if (game_.getMap().hasExitArea()) { builders.push_back(MenuBuilder().Command("Exit Area") .ActivationFunction([] (Game& game) { - game.getSystem().closePauseMenu(); + game.getSystem().closePauseMenu(false); game.getSystem().runScript(game.getMap().getName(), "exit_area"); })); } @@ -62,11 +63,17 @@ void MenuSystem::openPauseMenu() { menu_ = CreateMenu(builders); cursor_ = 0; + + game_.getMixer().playSound("../res/sfx/menu_open.wav"); } -void MenuSystem::closePauseMenu() { +void MenuSystem::closePauseMenu(bool playSfx) { pauseAnimation_.start(125, 0.0); openState_ = OpenState::Animating; + + if (playSfx) { + game_.getMixer().playSound("../res/sfx/menu_close.wav"); + } } void MenuSystem::pressedUp() { @@ -96,9 +103,13 @@ void MenuSystem::pressedDown() { } void MenuSystem::activateOption() { - game_.getMixer().playSound("../res/sfx/menu_activate.wav"); + if (menu_[cursor_].type == MenuType::Command) { + if (menu_[cursor_].playSfx) { + game_.getMixer().playSound("../res/sfx/menu_activate.wav"); + } - if (menu_[cursor_].type == MenuType::Command && menu_[cursor_].activationFunction) { - menu_[cursor_].activationFunction(game_); + if (menu_[cursor_].activationFunction) { + menu_[cursor_].activationFunction(game_); + } } } -- cgit 1.4.1