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) {