NazaraEngine/include/Nazara/Core/AssetDescriptor.inl

38 lines
1.1 KiB
C++

namespace Nz
{
template <typename TResource>
bool Serialize(SerializationContext& context, const AssetDescriptor<TResource>& descriptor, TypeTag<AssetDescriptor<TResource>>)
{
Serialize(context, "version", descriptor.version);
Serialize(context, "type", descriptor.type);
Serialize(context, "name", descriptor.name);
Serialize(context, "path", descriptor.path);
Serialize(context, "parameters", descriptor.parameters);
return true;
}
template <typename TResource>
bool Unserialize(SerializationContext& context, AssetDescriptor<TResource>* descriptor, TypeTag<AssetDescriptor<TResource>>)
{
if (!Unserialize(context, "version", &descriptor->version))
return false;
if (!Unserialize(context, "type", &descriptor->type))
return false;
if (AssetDescriptor<TResource>::Type != descriptor->type)
return false;
if (!Unserialize(context, "name", &descriptor->name))
return false;
if (!Unserialize(context, "path", &descriptor->path))
return false;
if (!Unserialize(context, "parameters", &descriptor->parameters))
return false;
return true;
}
}