public static VFileSystem MountArchive(string mountPoint, string zip)
 {
     if (!_mounts.ContainsKey(mountPoint))
     {
         _mounts.Add(mountPoint, VFileSystem.Create(zip));
     }
     else
     {
         _mounts[mountPoint].AddZip(zip);
     }
     return(_mounts[mountPoint]);
 }
        public static VFileSystem Create(string zip)
        {
            Console.WriteLine("[VFS] Loading " + zip + "...");
            ZipArchive zipData    = new ZipArchive(new MemoryStream(File.ReadAllBytes(zip)));
            var        fileSystem = new VFileSystem();

            foreach (var zipEntry in zipData.Entries)
            {
                fileSystem.AddFile(zipEntry);
            }
            return(fileSystem);
        }