diff --git a/Source/Engine/Platform/Base/FileSystemBase.cpp b/Source/Engine/Platform/Base/FileSystemBase.cpp index 34cf7af38..f2f45a6d4 100644 --- a/Source/Engine/Platform/Base/FileSystemBase.cpp +++ b/Source/Engine/Platform/Base/FileSystemBase.cpp @@ -247,6 +247,16 @@ bool FileSystemBase::CopyDirectory(const String& dst, const String& src, bool wi return FileSystemBase::DirectoryCopyHelper(dst, src, withSubDirectories); } +uint64 FileSystemBase::GetDirectorySize(const StringView& path) +{ + uint64 result = 0; + Array files; + FileSystem::DirectoryGetFiles(files, path, TEXT("*"), DirectorySearchOption::AllDirectories); + for (const String& file : files) + result += FileSystem::GetFileSize(file); + return result; +} + String FileSystemBase::ConvertRelativePathToAbsolute(const String& path) { return ConvertRelativePathToAbsolute(Globals::StartupFolder, path); diff --git a/Source/Engine/Platform/Base/FileSystemBase.h b/Source/Engine/Platform/Base/FileSystemBase.h index fc3d75bb1..e7bd83ed8 100644 --- a/Source/Engine/Platform/Base/FileSystemBase.h +++ b/Source/Engine/Platform/Base/FileSystemBase.h @@ -134,6 +134,7 @@ public: static bool CopyFile(const String& dst, const String& src); static bool CopyDirectory(const String& dst, const String& src, bool withSubDirectories); + static uint64 GetDirectorySize(const StringView& path); public: