23 lines
524 B
C++

#pragma once
#include <vector>
#include "Asset.h"
#include "AssetLoaders/ModelLoader.h"
#include "uuid.h"
class AssetManager {
public:
void Init();
void RegisterAsset(Asset& asset);
void UnregisterAsset(Asset& asset);
static YoggieEngine::Mesh* LoadFromAssetFile(const std::filesystem::path assetPath);
static YoggieEngine::Renderable* LoadFromSource(const std::filesystem::path srcPath, const std::filesystem::path assetFolder);
private:
std::map<uuid::v4::UUID , Asset> Assets;
ModelLoader modelLoader;
};