From 3cc5ed0decb5aff84bcaa53a81a7a77361048b7d Mon Sep 17 00:00:00 2001 From: Xiao Qi Date: Mon, 14 Nov 2022 18:31:56 +0800 Subject: [PATCH] Added meta generation recognisation for scene and font extension types on load up Check for std::optional value exist --- SHADE_Engine/src/Assets/SHAssetManager.cpp | 35 ++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/SHADE_Engine/src/Assets/SHAssetManager.cpp b/SHADE_Engine/src/Assets/SHAssetManager.cpp index 968e76dd..a7f4d8d9 100644 --- a/SHADE_Engine/src/Assets/SHAssetManager.cpp +++ b/SHADE_Engine/src/Assets/SHAssetManager.cpp @@ -560,6 +560,34 @@ namespace SHADE assetCollection.emplace(newAsset.id, newAsset); SHAssetMetaHandler::WriteMetaData(newAsset); + return newAsset.id; + } + else if (ext == SCENE_EXTENSION) + { + SHAsset newAsset{ + path.stem().string(), + GenerateAssetID(AssetType::SCENE), + AssetType::SCENE, + path, + false + }; + assetCollection.emplace(newAsset.id, newAsset); + SHAssetMetaHandler::WriteMetaData(newAsset); + + return newAsset.id; + } + else if (ext == FONT_EXTENSION) + { + SHAsset newAsset{ + path.stem().string(), + GenerateAssetID(AssetType::FONT), + AssetType::FONT, + path, + false + }; + assetCollection.emplace(newAsset.id, newAsset); + SHAssetMetaHandler::WriteMetaData(newAsset); + return newAsset.id; } } @@ -571,8 +599,11 @@ namespace SHADE for (auto& file : toGenNew) { - auto newID{ GenerateNewMeta(file->path).value() }; - file->assetMeta = &assetCollection[newID]; + auto newID{ GenerateNewMeta(file->path) }; + if (newID.has_value()) + { + file->assetMeta = &assetCollection[newID.value()]; + } } for (auto& asset : std::ranges::views::values(assetCollection))