roguish/sound.hpp
2025-01-29 12:55:33 -05:00

22 lines
545 B
C++

#pragma once
#include <string>
#include <filesystem>
#include <memory>
#include <unordered_map>
#include <SFML/Audio.hpp>
struct SoundPair {
std::shared_ptr<sf::SoundBuffer> buffer;
std::shared_ptr<sf::Sound> sound;
};
struct SoundManager {
std::filesystem::path $base_path;
std::unordered_map<std::string, SoundPair> $sounds;
SoundManager(std::string base_path);
void load(const std::string name, const std::string path);
void play(const std::string name);
void playAt(const std::string name, float x, float y, float z);
};