#pragma once
#include "DeerRender/Components.h"

namespace Deer {
	template <class Archive>
	void save(Archive& archive,
	          MeshComponent const& meshRender) {

		// TO IMPLEMENT
		/*
		std::string meshLocation = AssetManager::getAssetLocation(meshRender.meshAssetID).generic_string();
		archive(cereal::make_nvp("mesh", meshLocation));
		std::string shaderLocation = AssetManager::getAssetLocation(meshRender.shaderAssetID).generic_string();
		archive(cereal::make_nvp("shader", shaderLocation));
		*/
	}

	template <class Archive>
	void load(Archive& archive,
	          MeshComponent& meshRender) {

		// TO IMPLEMENT
		/*
		std::string meshLocation;
		archive(cereal::make_nvp("mesh", meshLocation));
		std::string shaderLocation;
		archive(cereal::make_nvp("shader", shaderLocation));

		meshRender.meshAssetID = AssetManager::loadAsset<VertexArray>(std::filesystem::path(meshLocation));
		meshRender.shaderAssetID = AssetManager::loadAsset<Shader>(std::filesystem::path(shaderLocation));
		*/
	}
} // namespace Deer