#include "ResourceHandler.h" #include "../util/Log.h" #include "CubeMap.h" #include ResourceHandler ResourceHandler::s_instance; auto ResourceHandler::instance() -> ResourceHandler & { return s_instance; } template auto ResourceHandler::registerResource(Param const &...param) -> ResourceId { auto resource = std::make_shared(param...); m_resources.emplace(resource->id(), resource); return resource->id(); } template ResourceId ResourceHandler::registerResource(TextureCubeMapDescriptor const &); template ResourceId ResourceHandler::registerResource(int const &); auto ResourceHandler::resource(const ResourceId resourceId) const -> std::shared_ptr { auto resourceIt = m_resources.find(resourceId); if (resourceIt != m_resources.end()) { auto resource = resourceIt->second; return resource; } Log::logger().warn("Could not find resource with id {}", resourceId); return {}; }