From 7d7ede07e9a3a3145302ab568eda63beabae94cc Mon Sep 17 00:00:00 2001 From: Askou Date: Mon, 7 Jun 2021 15:31:57 +0200 Subject: [PATCH] Sound for jump + fix sound component function name --- assets/sounds/jump.wav | Bin 0 -> 88244 bytes sources/Component/Sound/SoundComponent.cpp | 24 ++++++++---------- sources/Component/Sound/SoundComponent.hpp | 12 ++++++--- sources/Runner/Runner.cpp | 10 +++++--- .../System/Sound/PlayerSoundManagerSystem.cpp | 19 ++++++++++---- .../System/Sound/PlayerSoundManagerSystem.hpp | 2 +- 6 files changed, 41 insertions(+), 26 deletions(-) create mode 100644 assets/sounds/jump.wav diff --git a/assets/sounds/jump.wav b/assets/sounds/jump.wav new file mode 100644 index 0000000000000000000000000000000000000000..642ae89a6905e90666bc81efe08127fe70df779e GIT binary patch literal 88244 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 +#include #include "SoundComponent.hpp" namespace BBM @@ -10,18 +11,18 @@ namespace BBM SoundComponent::SoundComponent(WAL::Entity &entity, \ std::map &soundPath) : WAL::Component(entity), - _soundIndex(IDLE) + _soundIndex(IDLE), + _soundPath(soundPath) { - for (int i = 0; i < DEATH + 1; i++) { + for (int i = 0; i <= DEATH; i++) + this->_isLoad[static_cast(i)] = false; + /*for (int i = 0; i <= DEATH; i++) { if (soundPath.at(static_cast(i)).empty()) { this->_isLoad[static_cast(i)] = false; } else { this->_isLoad[static_cast(i)] = true; this->_soundList[static_cast(i)] = RAY::Audio::Sound(soundPath.at(static_cast(i))); } - } - /*for (int i = 0; i < DEATH + 1; i++) { - std::cout << i << this->_isLoad.at(static_cast(i)) << soundPath.at(static_cast(i)) << std::endl; }*/ } @@ -36,22 +37,19 @@ std::map &soundPath) return new SoundComponent(entity); } - void SoundComponent::loadSound(void) + void SoundComponent::playSound(void) { - std::cout << this->_soundIndex << std::endl; if (!this->_isLoad.at(this->_soundIndex)) - return; - if (!this->_soundList[this->_soundIndex].isPlaying()) { - std::cout << this->_soundIndex << std::endl; + this->_soundList[this->_soundIndex] = RAY::Audio::Sound(this->_soundPath.at(this->_soundIndex)); + if (!this->_soundList[this->_soundIndex].isPlaying()) this->_soundList[this->_soundIndex].play(); - } } - void SoundComponent::unloadSound(void) + void SoundComponent::stopSound(void) { if (!this->_isLoad.at(this->_soundIndex)) return; - if (!this->_soundList[this->_soundIndex].isPlaying()) + if (this->_soundList[this->_soundIndex].isPlaying()) this->_soundList[this->_soundIndex].stop(); } diff --git a/sources/Component/Sound/SoundComponent.hpp b/sources/Component/Sound/SoundComponent.hpp index 1feaa261..df2d3925 100644 --- a/sources/Component/Sound/SoundComponent.hpp +++ b/sources/Component/Sound/SoundComponent.hpp @@ -30,10 +30,10 @@ namespace BBM soundIndex getIndex(); //! @brief load Sound - void loadSound(); + void playSound(); //! @brief unload Sound - void unloadSound(); + void stopSound(); //! @brief put Sound on hold void pauseSound(); @@ -47,11 +47,10 @@ namespace BBM //! @brief is Sound playing bool isPlaying(void); - //! @inherit WAL::Component *clone(WAL::Entity &entity) const override; //! @brief Create a new SoundComponent at a certain Sound - SoundComponent(WAL::Entity &entity, std::map &SoundPath); + SoundComponent(WAL::Entity &entity, std::map &); //! @brief A Sound component is copy constructable SoundComponent(const SoundComponent &) = default; //! @brief A default destructor @@ -63,8 +62,13 @@ namespace BBM std::map _soundList; std::map _isLoad; + + std::map _soundPath; + //! SoundIndex soundIndex _soundIndex; + + //! @brief Create a new SoundComponent linked to a specific entity explicit SoundComponent(WAL::Entity &entity); diff --git a/sources/Runner/Runner.cpp b/sources/Runner/Runner.cpp index 7030294f..d556b3b7 100644 --- a/sources/Runner/Runner.cpp +++ b/sources/Runner/Runner.cpp @@ -31,6 +31,7 @@ #include "Map/Map.hpp" #include "Component/Music/MusicComponent.hpp" #include "Component/Sound/SoundComponent.hpp" +#include "System/Sound/PlayerSoundManagerSystem.hpp" namespace RAY2D = RAY::Drawables::Drawables2D; namespace RAY3D = RAY::Drawables::Drawables3D; @@ -53,12 +54,13 @@ namespace BBM .addSystem() .addSystem() .addSystem(wal) - .addSystem(); + .addSystem() + .addSystem(); } void enableRaylib(WAL::Wal &wal) { - RAY::TraceLog::setLevel(LOG_WARNING); + //RAY::TraceLog::setLevel(LOG_WARNING); RAY::Window &window = RAY::Window::getInstance(600, 400, "Bomberman", FLAG_WINDOW_RESIZABLE); wal.addSystem(wal, window); } @@ -70,7 +72,7 @@ namespace BBM {SoundComponent::IDLE, ""}, {SoundComponent::JUMP, ""}, {SoundComponent::BOMB, ""}, - {SoundComponent::MOVE, "assets/sounds/weird.wav"}, + {SoundComponent::MOVE, "assets/sounds/jump.wav"}, {SoundComponent::HURT, ""}, {SoundComponent::THROW, ""}, {SoundComponent::DEATH, ""} @@ -79,10 +81,12 @@ namespace BBM .addComponent() .addComponent("assets/player/player.iqm", std::make_pair(MAP_DIFFUSE, "assets/player/blue.png")) .addComponent() + .addComponent(1) .addComponent() .addComponent(RAY::ModelAnimations("assets/player/player.iqm"), 1) .addComponent(2) .addComponent() + //.addComponent("assets/musics/music_win.ogg"); .addComponent(soundPath); scene->addEntity("cube") .addComponent(-5, 0, -5) diff --git a/sources/System/Sound/PlayerSoundManagerSystem.cpp b/sources/System/Sound/PlayerSoundManagerSystem.cpp index 512a5603..187f55e3 100644 --- a/sources/System/Sound/PlayerSoundManagerSystem.cpp +++ b/sources/System/Sound/PlayerSoundManagerSystem.cpp @@ -6,6 +6,14 @@ namespace BBM { + + SoundManagerSystem::SoundManagerSystem() + : WAL::System({ + typeid(SoundComponent), + typeid(HealthComponent) + }) + {} + void SoundManagerSystem::onFixedUpdate(WAL::Entity &entity) { if (!entity.hasComponent()) @@ -15,12 +23,13 @@ namespace BBM { auto &health = entity.getComponent(); sound.setIndex(SoundComponent::BOMB); - controllable.bomb ? sound.loadSound() : sound.unloadSound(); + if (controllable.bomb) + sound.playSound(); sound.setIndex(SoundComponent::JUMP); - controllable.jump ? sound.loadSound() : sound.unloadSound(); + if (controllable.jump) + sound.playSound(); sound.setIndex(SoundComponent::MOVE); - (controllable.move.x != 0 || controllable.move.y != 0) ? sound.loadSound() : sound.unloadSound(); - sound.setIndex(SoundComponent::DEATH); - health.getHealthPoint() == 0 ? sound.loadSound() : sound.unloadSound(); + if (controllable.move.x != 0 || controllable.move.y != 0) + sound.playSound(); } } \ No newline at end of file diff --git a/sources/System/Sound/PlayerSoundManagerSystem.hpp b/sources/System/Sound/PlayerSoundManagerSystem.hpp index aff694c2..38cd4bfa 100644 --- a/sources/System/Sound/PlayerSoundManagerSystem.hpp +++ b/sources/System/Sound/PlayerSoundManagerSystem.hpp @@ -20,7 +20,7 @@ namespace BBM void onFixedUpdate(WAL::Entity &entity) override; //! @brief ctor - SoundManagerSystem(WAL::Wal &wal, RAY::Window &window); + SoundManagerSystem(); //! @brief Default copy ctor SoundManagerSystem(const SoundManagerSystem &) = default; //! @brief Default dtor