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