Files
escape-the-dawn/Escape-the-Dawn/Systems/SoundSystem.h
T
2014-03-09 20:04:38 +01:00

41 lines
887 B
C++

#ifndef SoundEmitter_h__
#define SoundEmitter_h__
#include "System.h"
#include "Components/SoundEmitter.h"
#include <AL/al.h>
#include <AL/alc.h>
#include <windows.h>
namespace System
{
class SoundSystem : public System
{
public:
SoundSystem(World* world) : System(world)
{
}
void Update(double dt) override;
void Update(double dt, EntityID entity, EntityID parent) override;
void OnComponentCreated(std::string type, std::shared_ptr<Component> component) override;
void PlaySound(std::shared_ptr<Components::SoundEmitter> emitter, std::string fileName);
void LoadFile(const char* fileName);
void CreateListener(int ID);
void CreateSource(int ID);
private:
ALCcontext* context;
char type[4];
DWORD size, chunkSize;
short formatType, channels;
DWORD sampleRate, avgBytesPerSec;
short bytesPerSample, bitsPerSample;
DWORD dataSize;
};
}
#endif // !SoundEmitter_h__