Dicewars-Siedler/src/engine/renderer/model/AssetManager.cpp
2026-02-08 18:30:25 +01:00

32 lines
865 B
C++

//
// Created by sebastian on 08.02.26.
//
#include "AssetManager.h"
#include <cassert>
#include <utility>
#include "../loader/OBJLoader.h"
std::shared_ptr<TexturedModel> AssetManager::loadModel(const std::string &name, const std::string &objPath, const std::string &texturePath, Loader &loader) {
if (models.contains(name)) {
return models[name];
}
auto model = OBJLoader::loadModel(objPath, texturePath, loader);
models[name] = model;
return model;
}
std::shared_ptr<TexturedModel> AssetManager::getModel(const std::string &name) {
assert(models.contains(name) && "Model not found!");
return models.at(name);
}
void AssetManager::insertGeneratedModel(const std::string &name, std::shared_ptr<TexturedModel> model) {
assert(!models.contains(name) && "Model already exists!");
models[name] = std::move(model);
}