Add more utility functions to VFS

This commit is contained in:
duckdoom4
2023-09-06 00:08:53 +02:00
parent ddc35df319
commit 01ed02e507
10 changed files with 136 additions and 63 deletions

View File

@@ -31,23 +31,23 @@ public void Dispose()
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public IEnumerable<FileSystemPath> GetEntityPaths(FileSystemPath path)
public IEnumerable<FileSystemPath> GetEntityPaths(FileSystemPath path, Func<FileSystemPath, bool>? filter = null)
{
return FileSystem.GetEntityPaths(ToAbsolutePath(path))
return FileSystem.GetEntityPaths(ToAbsolutePath(path), filter)
.Select(p => ToRelativePath(p));
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public IEnumerable<FileSystemPath> GetDirectoryPaths(FileSystemPath path)
public IEnumerable<FileSystemPath> GetDirectoryPaths(FileSystemPath path, Func<FileSystemPath, bool>? filter = null)
{
return FileSystem.GetDirectoryPaths(ToAbsolutePath(path))
return FileSystem.GetDirectoryPaths(ToAbsolutePath(path), filter)
.Select(p => ToRelativePath(p));
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public IEnumerable<FileSystemPath> GetFilePaths(FileSystemPath path)
public IEnumerable<FileSystemPath> GetFilePaths(FileSystemPath path, Func<FileSystemPath, bool>? filter = null)
{
return FileSystem.GetFilePaths(ToAbsolutePath(path))
return FileSystem.GetFilePaths(ToAbsolutePath(path), filter)
.Select(p => ToRelativePath(p));
}