CSC3224_Computer_Games_Development / GameEngine / Engine_Audio / EngineAudioSystem.h
EngineAudioSystem.h
Raw
#pragma once
#include "../Engine_Graphics/Scene.h"
#include <SFML/Audio/Sound.hpp>
#include <SFML/Audio/SoundBuffer.hpp>
#include <iostream>
#include <array>

class AudioSoundEffect;
class ResourceManagement;
//Engine Audio System
class EngineAudioSystem : public EngineMessageSystem
{
public:
	EngineAudioSystem(Scene& inputScene, ResourceManagement& inputResourceManager);
	~EngineAudioSystem();
	void clear();
	void play(const sf::Time& elapsedTime) override;
	void recieveEngineMessage(const SystemMessage& inputMessage) override {};
	Profiler engineAudioSystemProfiler;
protected:
	ResourceManagement* resourceManagement;
	std::vector<std::pair<sf::Sound*, AudioSoundEffect*>> audio;
};