NazaraEngine/include/Nazara/Core/Asset.hpp

21 lines
406 B
C++

#pragma once
#include <Nazara/Core/AssetDescriptor.hpp>
namespace Nz
{
template <typename TResource>
class Asset final
{
public:
const std::shared_ptr<TResource>& Get() const { return m_resource; }
explicit operator bool() const noexcept { return !!m_resource; }
protected:
AssetDescriptor<TResource> m_descriptor;
std::shared_ptr<TResource> m_resource;
friend class AssetCatalog;
};
}