dEngine
Simple 2D C++ game engine
AudioManager.h
Go to the documentation of this file.
1 #ifndef DENGINE_AUDIOMANAGER_H
2 #define DENGINE_AUDIOMANAGER_H
3 #include "Sound.h"
4 #include <map>
5 #include <memory>
6 
7 namespace dengine {
14  class AudioManager {
15  public:
26  void AddSound(std::string name, std::string filepath);
27 
32  void LoadSounds();
33 
45  void PlaySound(std::string name);
46 
56  void ClearSounds();
57 
68  void RemoveSound(std::string name);
69 
83  bool HasSound(std::string name);
84 
88  static AudioManager &GetInstance();
89 
90  private:
92  std::map <std::string, std::shared_ptr<Sound>> audioCollection;
93  };
94 }
95 
96 #endif //DENGINE_AUDIOMANAGER_H
void LoadSounds()
Load added sounds to memory.
Definition: AudioManager.cpp:12
void ClearSounds()
Clear all stored sounds.
Definition: AudioManager.cpp:23
std::map< std::string, std::shared_ptr< Sound > > audioCollection
Definition: AudioManager.h:92
bool HasSound(std::string name)
Check if sound has been added.
Definition: AudioManager.cpp:31
void PlaySound(std::string name)
Play a sound.
Definition: AudioManager.cpp:18
Manages the loading, unloading, and playing of sounds.
Definition: AudioManager.h:14
static AudioManager & GetInstance()
Definition: AudioManager.cpp:35
void RemoveSound(std::string name)
Remove a single sound.
Definition: AudioManager.cpp:27
void AddSound(std::string name, std::string filepath)
Add a sound to audio manager.
Definition: AudioManager.cpp:7
static AudioManager * instance
Definition: AudioManager.h:91
The namespace containing the engine&#39;s code.
Definition: Collider.h:9