/*********************************************************************
 * \file   AssetC.hpp
 *
 * \author Romain BOULLARD
 * \date   April 2026
 *********************************************************************/
#ifndef BIGFOOT_ASSETSFORTESTING_ASSET_ASSETC_HPP
#define BIGFOOT_ASSETSFORTESTING_ASSET_ASSETC_HPP
#include <Engine/Asset/Asset.hpp>

#include <AssetsForTesting/Asset/AssetC_generated.hpp>

namespace Bigfoot
{
struct AssetCTraits
{
    using FLAT = ::Flat::Bigfoot::AssetC;
};

class AssetC: public Asset<AssetCTraits>
{
  public:
    AssetC()
    {
        GetAsset().inner_table = eastl::make_unique<::Flat::Bigfoot::InnerTableT>();
    }

    AssetC(const eastl::span<const std::byte> p_flatbuffer):
        Asset(p_flatbuffer)
    {
    }

    AssetC(const AssetC& p_asset) = delete;
    AssetC(AssetC&& p_asset) = default;

    ~AssetC() = default;

    AssetC& operator=(const AssetC& p_asset) = delete;
    AssetC& operator=(AssetC&& p_asset) = default;
};
}   // namespace Bigfoot

#endif
