Hymn to Beauty
C++ 3D Engine
SoundManager.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "../Entity/ComponentContainer.hpp"
4#include <miniaudio.h>
5
6namespace Component {
7class Listener;
8class SoundSource;
9} // namespace Component
10
13 friend class Hub;
14
15 public:
17 void Update();
18
20
24
26
29 const std::vector<Component::SoundSource*>& GetSoundSources() const;
30
32
36
38
41 const std::vector<Component::Listener*>& GetListeners() const;
42
45
46 private:
49 SoundManager(SoundManager const&) = delete;
50 void operator=(SoundManager const&) = delete;
51
52 ma_engine engine;
53
56};
Component describing a listener that can listen to sounds.
Definition: Listener.hpp:7
Component describing a sound source.
Definition: SoundSource.hpp:11
Stores components.
Definition: ComponentContainer.hpp:7
Singleton class that holds all subsystems.
Definition: Managers.hpp:16
Handles sound.
Definition: SoundManager.hpp:12
const std::vector< Component::Listener * > & GetListeners() const
Get all listener components.
Definition: SoundManager.cpp:106
Component::Listener * CreateListener()
Create listener component.
Definition: SoundManager.cpp:102
Component::SoundSource * CreateSoundSource()
Create sound source component.
Definition: SoundManager.cpp:92
const std::vector< Component::SoundSource * > & GetSoundSources() const
Get all sound source components.
Definition: SoundManager.cpp:98
void ClearKilledComponents()
Remove all killed components.
Definition: SoundManager.cpp:110
void Update()
Moves sound sources and plays sounds.
Definition: SoundManager.cpp:33
Definition: BoxShapeEditor.hpp:5