#pragma once #include <string> #include <filesystem> #include <memory> #include <unordered_map> #include <SFML/Audio.hpp> namespace sound { struct SoundPair { std::shared_ptr<sf::SoundBuffer> buffer; std::shared_ptr<sf::Sound> sound; }; struct SoundManager { std::unordered_map<std::string, SoundPair> sounds; }; void init(); void load(const std::string name, const std::string path); void play(const std::string name, bool loop=false); void play_at(const std::string name, float x, float y, float z); void stop(const std::string name); void mute(bool setting); bool playing(const std::string name); SoundPair& get_sound_pair(const std::string& name); }