#include "assert.h"
#include "asset_loader.h"
#include "render/asset/shader.h"
#include "render/asset/model.h"
#include "resource_manager.h"
#include "object/loader/assimp_loader.h"
#include "yaml/yaml.h"
namespace engineapi {
	MetaBundle ResourceManager::GetVisitMeta(const ResourceBundle& bundle)
	{
		MetaBundle new_meta = MetaBundle{};
		for (auto& elem : bundle.GetAll())
			std::visit([&](auto& handle) { new_meta.Add(handle);  }, elem);
		return new_meta;
	}
	void Asset::__Init__()
	{
		YAML::TextArchive::Register<Guid>();
		AssimpLoader::Init();
		AssetLoader::Init();
	}
}