NazaraEngine/include/Nazara/Core/AssetDescriptor.hpp

25 lines
718 B
C++

#pragma once
#include <Nazara/Core/Serialization.hpp>
#include <NazaraUtils/TypeName.hpp>
namespace Nz
{
template <typename TResource>
struct AssetDescriptor
{
constexpr static std::string_view Type = TypeName<TResource>();
int version;
std::string type;
std::string name;
std::filesystem::path path;
TResource::Params parameters;
};
template <typename TResource> bool Serialize(SerializationContext& context, const AssetDescriptor<TResource>& descriptor, TypeTag<AssetDescriptor<TResource>>);
template <typename TResource> bool Unserialize(SerializationContext& context, AssetDescriptor<TResource>* descriptor, TypeTag<AssetDescriptor<TResource>>);
}
#include <Nazara/Core/AssetDescriptor.inl>