#pragma once #include "Map.hpp" #include #include struct AssetData {}; template concept Asset = std::derived_from; struct AssetBinary : AssetData { uint8_t* content = nullptr; size_t size = 0; AssetBinary(uint8_t* &source, const size_t &sourceSize); ~AssetBinary(); }; struct AssetMapMesh : AssetData { MapMesh content; AssetMapMesh(uint8_t* &source, const size_t &sourceSize); }; #define AssetShader AssetBinary struct AssetMaterial : AssetData { uint32_t vertexShaderAssetID; uint32_t fragmentShaderAssetID; };