From 1bb4b8fa0d31fd7f2e79c5f32f8ae44948cf15e7 Mon Sep 17 00:00:00 2001 From: SirLynix Date: Fri, 14 Jul 2023 14:16:57 +0200 Subject: [PATCH] Core/AppFilesystemComponent: Add GetDirectory --- include/Nazara/Core/AppFilesystemComponent.hpp | 1 + include/Nazara/Core/AppFilesystemComponent.inl | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/include/Nazara/Core/AppFilesystemComponent.hpp b/include/Nazara/Core/AppFilesystemComponent.hpp index 42c198aea..f4daaf84f 100644 --- a/include/Nazara/Core/AppFilesystemComponent.hpp +++ b/include/Nazara/Core/AppFilesystemComponent.hpp @@ -36,6 +36,7 @@ namespace Nz ~AppFilesystemComponent() = default; template const typename T::Params* GetDefaultResourceParameters() const; + inline VirtualDirectoryPtr GetDirectory(std::string_view assetPath); template std::shared_ptr Load(std::string_view assetPath, ExtraArgs&&... args); template std::shared_ptr Load(std::string_view assetPath, typename T::Params params, ExtraArgs&&... args); diff --git a/include/Nazara/Core/AppFilesystemComponent.inl b/include/Nazara/Core/AppFilesystemComponent.inl index 79489e70b..319d18523 100644 --- a/include/Nazara/Core/AppFilesystemComponent.inl +++ b/include/Nazara/Core/AppFilesystemComponent.inl @@ -34,6 +34,17 @@ namespace Nz return static_cast(m_defaultParameters[resourceIndex].get()); } + VirtualDirectoryPtr AppFilesystemComponent::GetDirectory(std::string_view assetPath) + { + VirtualDirectoryPtr dir; + m_rootDirectory->GetDirectoryEntry(assetPath, [&](const Nz::VirtualDirectory::DirectoryEntry& dirEntry) + { + dir = dirEntry.directory; + }); + + return dir; + } + template std::shared_ptr AppFilesystemComponent::Load(std::string_view assetPath, ExtraArgs&&... args) {