voxelcore/src/Assets.cpp
2023-11-02 13:23:52 +03:00

54 lines
1,009 B
C++

#include "Assets.h"
#include "graphics/Texture.h"
#include "graphics/Shader.h"
#include "graphics/Font.h"
Assets::~Assets() {
for (auto& iter : shaders){
delete iter.second;
}
for (auto& iter : textures){
delete iter.second;
}
for (auto& iter : fonts){
delete iter.second;
}
}
Texture* Assets::getTexture(std::string name) const {
auto found = textures.find(name);
if (found == textures.end())
return nullptr;
return found->second;
}
void Assets::store(Texture* texture, std::string name){
textures[name] = texture;
}
Shader* Assets::getShader(std::string name) const{
auto found = shaders.find(name);
if (found == shaders.end())
return nullptr;
return found->second;
}
void Assets::store(Shader* shader, std::string name){
shaders[name] = shader;
}
Font* Assets::getFont(std::string name) const {
auto found = fonts.find(name);
if (found == fonts.end())
return nullptr;
return found->second;
}
void Assets::store(Font* font, std::string name){
fonts[name] = font;
}