Files
CosmicEngine/src/Engine/Core/Graphics/Data/CModelManager.hpp

32 lines
691 B
C++

#ifndef CMODELMANAGER_HPP
#define CMODELMANAGER_HPP
#include "CModel.hpp"
#include <list>
#include <memory>
class CModelManager
{
public:
std::list<std::unique_ptr<CModel>> loadedModel;
std::unordered_map<std::string, CModel*> modelsMap;
void addModel(std::string name, std::unique_ptr<CModel>&& model)
{
loadedModel.push_back(std::move(model));
modelsMap[name] = loadedModel.back().get();
}
std::optional<CModel*> get(std::string name)
{
auto find = modelsMap.find(name);
if(find != modelsMap.end())
{
return find->second;
}
else {
return nullptr;
}
}
};
#endif