#pragma once #include #include #include #include class ResourceManager { public: static ResourceManager& getInstance(); ResourceManager(const ResourceManager&) = delete; ResourceManager& operator=(const ResourceManager&) = delete; ResourceManager(ResourceManager&&) = delete; ResourceManager& operator=(ResourceManager&&) = delete; ~ResourceManager(); SDL_Texture* get_texture(SDL_Renderer* renderer, const std::string& path); private: ResourceManager(); std::unordered_map m_textures; mutable std::mutex m_mutex; };