Files
dae16-VerhulstBram-GameProject/Game/TextureManager.cpp
2024-04-23 11:17:17 +02:00

30 lines
712 B
C++

#include "pch.h"
#include "TextureManager.h"
#include <iostream>
TextureManager* TextureManager::m_pInstance = nullptr;
TextureManager * TextureManager::GetInstance() {
if (m_pInstance == nullptr) {
m_pInstance = new TextureManager();
}
return m_pInstance;
}
void TextureManager::DestroyInstance() {
delete m_pInstance;
}
Texture * TextureManager::GetTexture(const std::string& name) {
if (m_Textures.find(name) != m_Textures.end()) {
return m_Textures[name];
}
Texture* pTexture = new Texture(name);
m_Textures[name] = pTexture;
return pTexture;
}
TextureManager::~TextureManager() {
//TODO: Loop over the m_Textures to delete them
for (const auto& p : m_Textures) {
delete p.second;
}
}