diff --git a/sources/Runner/CreditScene.cpp b/sources/Runner/CreditScene.cpp index fa77c9ff..a0dfb539 100644 --- a/sources/Runner/CreditScene.cpp +++ b/sources/Runner/CreditScene.cpp @@ -23,7 +23,7 @@ namespace BBM {SoundComponent::JUMP, "assets/sounds/click.ogg"} }; - addMenuControl(*scene); + addMenuControl(*scene, sounds); scene->addEntity("background") .addComponent() .addComponent("assets/plain_menu_background.png"); diff --git a/sources/Runner/HowToPlayScene.cpp b/sources/Runner/HowToPlayScene.cpp index cfb2cb7e..782a70c0 100644 --- a/sources/Runner/HowToPlayScene.cpp +++ b/sources/Runner/HowToPlayScene.cpp @@ -22,7 +22,7 @@ namespace BBM {SoundComponent::JUMP, "assets/sounds/click.ogg"} }; - addMenuControl(*scene); + addMenuControl(*scene, sounds); scene->addEntity("Control entity") .addComponent("assets/musics/music_player_select.ogg") .addComponent(sounds); diff --git a/sources/Runner/LobbyScene.cpp b/sources/Runner/LobbyScene.cpp index 7254006e..41628f37 100644 --- a/sources/Runner/LobbyScene.cpp +++ b/sources/Runner/LobbyScene.cpp @@ -33,7 +33,7 @@ namespace BBM }; auto scene = std::make_shared(); - addMenuControl(*scene); + addMenuControl(*scene, sounds); scene->addEntity("Control entity") .addComponent("assets/musics/music_player_select.ogg") .addComponent(sounds); diff --git a/sources/Runner/MainMenuScene.cpp b/sources/Runner/MainMenuScene.cpp index 42067222..33377954 100644 --- a/sources/Runner/MainMenuScene.cpp +++ b/sources/Runner/MainMenuScene.cpp @@ -23,7 +23,7 @@ namespace BBM }; auto scene = std::make_shared(); - addMenuControl(*scene); + addMenuControl(*scene, sounds); scene->addEntity("Control entity") .addComponent("assets/musics/music_title.ogg") .addComponent(sounds); diff --git a/sources/Runner/PauseMenuScene.cpp b/sources/Runner/PauseMenuScene.cpp index cf7d66c6..3154e360 100644 --- a/sources/Runner/PauseMenuScene.cpp +++ b/sources/Runner/PauseMenuScene.cpp @@ -23,7 +23,7 @@ namespace BBM }; auto scene = std::make_shared(); - addMenuControl(*scene); + addMenuControl(*scene, sounds); scene->addEntity("Control entity") .addComponent("assets/musics/music_player_select.ogg") .addComponent(sounds); diff --git a/sources/Runner/Runner.cpp b/sources/Runner/Runner.cpp index 2bcc5fc4..bbb3ae73 100644 --- a/sources/Runner/Runner.cpp +++ b/sources/Runner/Runner.cpp @@ -110,17 +110,20 @@ namespace BBM .addSystem(window); } - void Runner::addMenuControl(WAL::Scene &scene) + void Runner::addMenuControl(WAL::Scene &scene, const std::map &sounds) { scene.addEntity("Keyboard default control") .addComponent() + .addComponent(sounds) .addComponent(); scene.addEntity("Keyboard second control") .addComponent() + .addComponent(sounds) .addComponent(ControllableComponent::Layout::KEYBOARD_1); for (int i = 0; i < 4; i++) { scene.addEntity("Gamepad controller") .addComponent() + .addComponent(sounds) .addComponent(i); } } diff --git a/sources/Runner/Runner.hpp b/sources/Runner/Runner.hpp index 4fa9f6a1..3c1d9d04 100644 --- a/sources/Runner/Runner.hpp +++ b/sources/Runner/Runner.hpp @@ -5,6 +5,8 @@ #pragma once #include "Models/GameState.hpp" #include "Wal.hpp" +#include +#include "Component/Sound/SoundComponent.hpp" namespace BBM { @@ -30,7 +32,7 @@ namespace BBM //! @brief init all raylib-related data & context static void enableRaylib(WAL::Wal &wal); - static void addMenuControl(WAL::Scene &scene); + static void addMenuControl(WAL::Scene &scene, const std::map &sounds = {}); //! @brief load all data related to title screen static std::shared_ptr loadTitleScreenScene(); diff --git a/sources/Runner/ScoreScene.cpp b/sources/Runner/ScoreScene.cpp index 76a3008f..4f80babb 100644 --- a/sources/Runner/ScoreScene.cpp +++ b/sources/Runner/ScoreScene.cpp @@ -45,7 +45,7 @@ namespace BBM playersIconPath.push_back(path.replace(path.find("textures"), std::string("textures").size(), "icons")); } - addMenuControl(*scene); + addMenuControl(*scene, sounds); scene->addEntity("Audio ressources") .addComponent("assets/musics/music_result.ogg") .addComponent(sounds); diff --git a/sources/Runner/SettingsMenuScene.cpp b/sources/Runner/SettingsMenuScene.cpp index 8883bbeb..aeb087b8 100644 --- a/sources/Runner/SettingsMenuScene.cpp +++ b/sources/Runner/SettingsMenuScene.cpp @@ -24,7 +24,7 @@ namespace BBM {SoundComponent::JUMP, "assets/sounds/click.ogg"} }; - addMenuControl(*scene); + addMenuControl(*scene, sounds); scene->addEntity("Control entity") .addComponent("assets/musics/music_title.ogg") .addComponent(sounds); @@ -110,6 +110,7 @@ namespace BBM .addComponent(1920 / 1.5, 1080 - 360, 0) .addComponent("assets/buttons/button_plus.png") .addComponent(sounds) + .addComponent() .addComponent([](WAL::Entity &entity, WAL::Wal &) { auto &component = entity.getComponent(); @@ -133,6 +134,7 @@ namespace BBM .addComponent(1920 / 3, 1080 - 360, 0) .addComponent("assets/buttons/button_minus.png") .addComponent(sounds) + .addComponent() .addComponent([](WAL::Entity &entity, WAL::Wal &) { RAY::Texture *texture = dynamic_cast(entity.getComponent().drawable.get()); diff --git a/sources/Runner/TitleScreenScene.cpp b/sources/Runner/TitleScreenScene.cpp index 729434f3..defa265e 100644 --- a/sources/Runner/TitleScreenScene.cpp +++ b/sources/Runner/TitleScreenScene.cpp @@ -22,7 +22,7 @@ namespace BBM {SoundComponent::JUMP, "assets/sounds/click.ogg"} }; auto scene = std::make_shared(); - addMenuControl(*scene); + addMenuControl(*scene, sounds); scene->addEntity("control") .addComponent(sounds) .addComponent("assets/musics/music_title.ogg");