include "Engine/BigFile/Asset/AssetTypeID.fbs";
native_include "Engine/BigFile/Asset/AssetTypeID.hpp";

include "System/UUID/UUID.fbs";
native_include "System/UUID/UUID.hpp";

namespace Bigfoot.Flat;

table AssetHeader
{
    uuid:         UUID        (required, native_inline, id: 0);
    name:         string      (required, id: 1);
    type_id:      AssetTypeID (required, native_inline, id: 2);
    type_name:    string      (required, id: 3);
    version:      uint = 0    (id: 4);
    dependencies: [UUID]      (required, native_inline, id: 5);
}

table Asset
{
    header:     AssetHeader (required, id: 0);
    asset: [ubyte]     (required, id: 1);
}

root_type Asset;