#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; };