Bomberman
MusicComponent.hpp
Go to the documentation of this file.
1 //
2 // Created by Tom Augier on 05/06/2021
3 //
4 
5 #pragma once
6 
8 #include <map>
9 #include "Audio/Music.hpp"
10 
11 namespace BBM
12 {
15  {
16  public:
18  void playMusic();
19 
21  void stopMusic();
22 
24  void pauseMusic();
25 
27  void setVolume(float);
28 
30  void turnDownVolume();
31 
33  void turnUpVolume();
34 
36  void setPitch(float);
37 
39  bool isPlaying(void);
41  void updateMusicStream(void);
43  WAL::Component *clone(WAL::Entity &entity) const override;
45  explicit MusicComponent(WAL::Entity &entity, const std::string &musicPath);
47  MusicComponent(const MusicComponent &) = default;
49  ~MusicComponent() override = default;
51  MusicComponent &operator=(const MusicComponent &) = delete;
53  static float volume;
54  private:
58  const std::string _musicPath;
59  };
60 
61 } // namespace BBM
BBM::MusicComponent::playMusic
void playMusic()
start music
Definition: MusicComponent.cpp:24
RAY::Audio::Music
A manager for music stream.
Definition: Music.hpp:18
BBM::MusicComponent::pauseMusic
void pauseMusic()
put music on hold
Definition: MusicComponent.cpp:37
BBM::MusicComponent::isPlaying
bool isPlaying(void)
is music playing
Definition: MusicComponent.cpp:55
BBM::MusicComponent::updateMusicStream
void updateMusicStream(void)
update music stream
Definition: MusicComponent.cpp:60
BBM::MusicComponent::_musicPath
const std::string _musicPath
patht to the music assets
Definition: MusicComponent.hpp:58
BBM::MusicComponent::setPitch
void setPitch(float)
set pitch volume
Definition: MusicComponent.cpp:50
WAL::Component
Represent a single component of WAL.
Definition: Component.hpp:17
BBM
Definition: AnimationsComponent.cpp:9
BBM::MusicComponent::operator=
MusicComponent & operator=(const MusicComponent &)=delete
A Music component is not assignable.
Music.hpp
WAL::Entity
An entity of the WAL's ECS.
Definition: Entity.hpp:20
BBM::MusicComponent::setVolume
void setVolume(float)
set music volume
Definition: MusicComponent.cpp:42
Component.hpp
BBM::MusicComponent::turnDownVolume
void turnDownVolume()
volume -= 0.1
Definition: MusicComponent.cpp:65
BBM::MusicComponent::volume
static float volume
Volume of the muisc.
Definition: MusicComponent.hpp:53
BBM::MusicComponent::_music
RAY::Audio::Music _music
music of this entity
Definition: MusicComponent.hpp:56
BBM::MusicComponent::MusicComponent
MusicComponent(WAL::Entity &entity, const std::string &musicPath)
Create a new MusicComponent at a certain Music.
Definition: MusicComponent.cpp:12
BBM::MusicComponent::turnUpVolume
void turnUpVolume()
volume += 0.1
Definition: MusicComponent.cpp:70
BBM::MusicComponent::stopMusic
void stopMusic()
stop music
Definition: MusicComponent.cpp:31
BBM::MusicComponent::~MusicComponent
~MusicComponent() override=default
A default destructor.
BBM::MusicComponent::clone
WAL::Component * clone(WAL::Entity &entity) const override
Clone a component for another or the same entity.
Definition: MusicComponent.cpp:19
BBM::MusicComponent
A basic Music component.
Definition: MusicComponent.hpp:14