Jeremy Pritts 85172b7393
File system improvements (#1936)
* WIP file system improvements

* Switch to a hierarchial virtual file system

* EnumerateFiles and EnumerateDirectories

* Change import code to use FileSystem

* Use FileSystem when loading assemblies

* Use FileSystem in MonoManager initialization

* Remove set method for PlatformGameStructure::RootPath

* Renaming cleanup
2025-09-13 15:17:41 -07:00

44 lines
1.6 KiB
C#

// Auto-generated code. Do not modify manually.
namespace AssetRipper.IO.Files;
public sealed partial class VirtualFileSystem : FileSystem
{
public override VirtualFileImplementation File { get; }
public sealed partial class VirtualFileImplementation(VirtualFileSystem fileSystem) : FileImplementation(fileSystem)
{
private new VirtualFileSystem Parent => (VirtualFileSystem)base.Parent;
private new VirtualFileImplementation File => this;
private new VirtualDirectoryImplementation Directory => Parent.Directory;
private new VirtualPathImplementation Path => Parent.Path;
}
public override VirtualDirectoryImplementation Directory { get; }
public sealed partial class VirtualDirectoryImplementation(VirtualFileSystem fileSystem) : DirectoryImplementation(fileSystem)
{
private new VirtualFileSystem Parent => (VirtualFileSystem)base.Parent;
private new VirtualFileImplementation File => Parent.File;
private new VirtualDirectoryImplementation Directory => this;
private new VirtualPathImplementation Path => Parent.Path;
}
public override VirtualPathImplementation Path { get; }
public sealed partial class VirtualPathImplementation(VirtualFileSystem fileSystem) : PathImplementation(fileSystem)
{
private new VirtualFileSystem Parent => (VirtualFileSystem)base.Parent;
private new VirtualFileImplementation File => Parent.File;
private new VirtualDirectoryImplementation Directory => Parent.Directory;
private new VirtualPathImplementation Path => this;
}
public VirtualFileSystem()
{
File = new(this);
Directory = new(this);
Path = new(this);
}
}