include "Engine/Asset/Reference.fbs";

include "EngineTests/Asset/AssetA.fbs";
include "EngineTests/Asset/AssetB.fbs";

native_include "EngineTests/Asset/AssetC_fwd.hpp";

namespace Flat.Bigfoot;

table InnerTable
{
    asset_a_ref: Flat.Bigfoot.HardReference (native_type: "::Bigfoot::HardReference<::Bigfoot::AssetA>", native_inline, native_type_pack_name: "HardReferenceAssetA");
    asset_a_refs: [Flat.Bigfoot.HardReference] (native_type: "::Bigfoot::HardReference<::Bigfoot::AssetA>", native_inline, native_type_pack_name: "HardReferenceAssetA");
}

table AssetC
{
    inner_table: InnerTable (required);

    asset_b_ref: Flat.Bigfoot.HardReference (native_type: "::Bigfoot::HardReference<::Bigfoot::AssetB>", native_inline, native_type_pack_name: "HardReferenceAssetB");
    asset_b_refs: [Flat.Bigfoot.SoftReference] (native_type: "::Bigfoot::SoftReference<::Bigfoot::AssetB>", native_inline, native_type_pack_name: "SoftReferenceAssetB");
}

root_type AssetC;