Files
VoxelEngine/src/assets/Assets.cpp
T
2023-11-05 22:30:52 +03:00

55 lines
1018 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;
}