From a99a7e7d88706ad63833d81d6d2ae82ea351a412 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Sun, 12 Apr 2026 13:40:01 +0200 Subject: [PATCH] ReflectionInfo in Asset --- .../Engine/Include/Engine/BigFile/Asset/AssetContainer.hpp | 5 +++-- Bigfoot/Tests/Engine/BigFile/BigFile.cpp | 3 +-- .../Engine/Include/EngineTests/BigFile/Asset/AssetA.hpp | 7 +++++++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/AssetContainer.hpp b/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/AssetContainer.hpp index 0b8c364..8a7d6ba 100644 --- a/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/AssetContainer.hpp +++ b/Bigfoot/Sources/Engine/Include/Engine/BigFile/Asset/AssetContainer.hpp @@ -15,8 +15,9 @@ namespace Bigfoot { template concept BigfootAssetConcept = requires(ASSET p_asset, const ASSET p_constAsset) { - requires FlatAssetConcept && - std::constructible_from*>; + requires FlatAssetConcept; + requires std::constructible_from*>; + { ASSET::ReflectionInfo() } -> std::convertible_to>; }; template diff --git a/Bigfoot/Tests/Engine/BigFile/BigFile.cpp b/Bigfoot/Tests/Engine/BigFile/BigFile.cpp index 0461d1a..fb83ad0 100644 --- a/Bigfoot/Tests/Engine/BigFile/BigFile.cpp +++ b/Bigfoot/Tests/Engine/BigFile/BigFile.cpp @@ -15,7 +15,6 @@ #include #include -#include #include #include @@ -283,7 +282,7 @@ TEST_F(BigFileFixture, Lol) TEST_F(BigFileFixture, Reflection) { [[maybe_unused]] - const reflection::Schema* reflection = reflection::GetSchema(g_AssetA_bfbs.data()); + const reflection::Schema* reflection = reflection::GetSchema(AssetA::ReflectionInfo().data()); auto IsRef = [](const reflection::Object* obj) -> bool { diff --git a/Bigfoot/Tests/Engine/Include/EngineTests/BigFile/Asset/AssetA.hpp b/Bigfoot/Tests/Engine/Include/EngineTests/BigFile/Asset/AssetA.hpp index 1ed37e2..e465e96 100644 --- a/Bigfoot/Tests/Engine/Include/EngineTests/BigFile/Asset/AssetA.hpp +++ b/Bigfoot/Tests/Engine/Include/EngineTests/BigFile/Asset/AssetA.hpp @@ -8,6 +8,7 @@ #define BIGFOOT_ENGINETESTS_ASSETA_HPP #include +#include #include namespace Bigfoot @@ -54,6 +55,12 @@ class AssetA return m_flatAsset->Asset().asset_header.get(); } + [[nodiscard]] + static constexpr eastl::span ReflectionInfo() + { + return g_AssetA_bfbs; + } + ~AssetA() = default; AssetA& operator=(const AssetA& p_assetA) = default;