diff --git a/Bigfoot/Sources/Engine/Include/Engine/Asset/Asset.hpp b/Bigfoot/Sources/Engine/Include/Engine/Asset/Asset.hpp index 6a63b83..5519639 100644 --- a/Bigfoot/Sources/Engine/Include/Engine/Asset/Asset.hpp +++ b/Bigfoot/Sources/Engine/Include/Engine/Asset/Asset.hpp @@ -147,13 +147,10 @@ class Asset: public AssetBase flatbuffers::FlatBufferBuilder innerAssetFbb; innerAssetFbb.Finish(FLAT_ASSET::Pack(innerAssetFbb, &m_asset)); - ::Flat::Bigfoot::AssetT asset; - asset.header = eastl::make_unique<::Flat::Bigfoot::AssetHeaderT>(m_header); - asset.inner_asset = eastl::vector {innerAssetFbb.GetBufferPointer(), - innerAssetFbb.GetBufferPointer() + innerAssetFbb.GetSize()}; - flatbuffers::FlatBufferBuilder assetFbb; - assetFbb.Finish(::Flat::Bigfoot::Asset::Pack(assetFbb, &asset)); + const auto header = ::Flat::Bigfoot::AssetHeader::Pack(assetFbb, &m_header); + const auto innerAsset = assetFbb.CreateVector(innerAssetFbb.GetBufferPointer(), innerAssetFbb.GetSize()); + assetFbb.Finish(::Flat::Bigfoot::CreateAsset(assetFbb, header, innerAsset)); return eastl::vector {std::bit_cast(assetFbb.GetBufferPointer()), std::bit_cast(assetFbb.GetBufferPointer() + assetFbb.GetSize())}; diff --git a/Bigfoot/Sources/Engine/Include/Engine/Asset/Asset_generated.hpp b/Bigfoot/Sources/Engine/Include/Engine/Asset/Asset_generated.hpp index a3269dc..9431c76 100644 --- a/Bigfoot/Sources/Engine/Include/Engine/Asset/Asset_generated.hpp +++ b/Bigfoot/Sources/Engine/Include/Engine/Asset/Asset_generated.hpp @@ -167,7 +167,7 @@ struct AssetT : public ::flatbuffers::NativeTable { static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() { return "Flat.Bigfoot.AssetT"; } - eastl::unique_ptr header{}; + eastl::unique_ptr header{new Flat::Bigfoot::AssetHeaderT()}; eastl::vector inner_asset{}; AssetT() = default; AssetT(const AssetT &o); diff --git a/Bigfoot/Tests/Engine/Asset/Asset.cpp b/Bigfoot/Tests/Engine/Asset/Asset.cpp index f1f7103..733fe44 100644 --- a/Bigfoot/Tests/Engine/Asset/Asset.cpp +++ b/Bigfoot/Tests/Engine/Asset/Asset.cpp @@ -28,13 +28,10 @@ class AssetFixture: public ::testing::Test flatbuffers::FlatBufferBuilder innerAssetFbb; innerAssetFbb.Finish(ASSET::FLAT_ASSET::Pack(innerAssetFbb, &p_asset)); - ::Flat::Bigfoot::AssetT asset; - asset.header = eastl::make_unique<::Flat::Bigfoot::AssetHeaderT>(p_header); - asset.inner_asset = eastl::vector {innerAssetFbb.GetBufferPointer(), - innerAssetFbb.GetBufferPointer() + innerAssetFbb.GetSize()}; - flatbuffers::FlatBufferBuilder assetFbb; - assetFbb.Finish(::Flat::Bigfoot::Asset::Pack(assetFbb, &asset)); + const auto header = ::Flat::Bigfoot::AssetHeader::Pack(assetFbb, &p_header); + const auto innerAsset = assetFbb.CreateVector(innerAssetFbb.GetBufferPointer(), innerAssetFbb.GetSize()); + assetFbb.Finish(::Flat::Bigfoot::CreateAsset(assetFbb, header, innerAsset)); return eastl::vector {std::bit_cast(assetFbb.GetBufferPointer()), std::bit_cast(assetFbb.GetBufferPointer() + assetFbb.GetSize())}; diff --git a/Bigfoot/Tests/Misc/AssetsForTesting/Include/AssetsForTesting/Asset/AssetC.hpp b/Bigfoot/Tests/Misc/AssetsForTesting/Include/AssetsForTesting/Asset/AssetC.hpp index c719e50..d41f086 100644 --- a/Bigfoot/Tests/Misc/AssetsForTesting/Include/AssetsForTesting/Asset/AssetC.hpp +++ b/Bigfoot/Tests/Misc/AssetsForTesting/Include/AssetsForTesting/Asset/AssetC.hpp @@ -20,10 +20,7 @@ struct AssetCTraits class AssetC: public Asset { public: - AssetC() - { - GetAsset().inner_table = eastl::make_unique<::Flat::Bigfoot::InnerTableT>(); - } + AssetC() = default; AssetC(const AssetC& p_asset) = delete; AssetC(AssetC&& p_asset) = default; diff --git a/Bigfoot/Tests/Misc/AssetsForTesting/Include/AssetsForTesting/Asset/AssetC_generated.hpp b/Bigfoot/Tests/Misc/AssetsForTesting/Include/AssetsForTesting/Asset/AssetC_generated.hpp index 6e26893..47cd534 100644 --- a/Bigfoot/Tests/Misc/AssetsForTesting/Include/AssetsForTesting/Asset/AssetC_generated.hpp +++ b/Bigfoot/Tests/Misc/AssetsForTesting/Include/AssetsForTesting/Asset/AssetC_generated.hpp @@ -151,7 +151,7 @@ struct AssetCT : public ::flatbuffers::NativeTable { static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() { return "Flat.Bigfoot.AssetCT"; } - eastl::unique_ptr inner_table{}; + eastl::unique_ptr inner_table{new Flat::Bigfoot::InnerTableT()}; ::Bigfoot::HardReference<::Bigfoot::AssetB> asset_b_ref{}; eastl::vector<::Bigfoot::SoftReference<::Bigfoot::AssetB>> asset_b_refs{}; AssetCT() = default;