//
// Created by sebastian on 08.02.26.
//

#ifndef ASSETMANAGER_H
#define ASSETMANAGER_H
#include <memory>
#include <unordered_map>

#include "TexturedModel.h"
#include "../loader/Loader.h"


class AssetManager {
public:
    static std::shared_ptr<TexturedModel> loadModel(const std::string& name, const std::string& objPath, const std::string& texturePath, Loader& loader);
    static std::shared_ptr<TexturedModel> getModel(const std::string& name);
    static void insertGeneratedModel(const std::string& name, std::shared_ptr<TexturedModel> model);
private:
    static inline std::unordered_map<std::string, std::shared_ptr<TexturedModel>> models;
};



#endif //ASSETMANAGER_H
