29 lines
844 B
C#
29 lines
844 B
C#
using System.Collections.Immutable;
|
|
using System.IO.Compression;
|
|
|
|
namespace BatchOszExtractor.Core;
|
|
|
|
public class Extract
|
|
{
|
|
public static void SelectMaps(SelectionType type, ImmutableList<string> maps, string extractPath)
|
|
{
|
|
// both are immutable lists of strings
|
|
if (type is SelectionType.Multiple or SelectionType.Single)
|
|
{
|
|
foreach (string map in maps)
|
|
{
|
|
using (ZipArchive archive = ZipFile.Open(map, ZipArchiveMode.Update))
|
|
{
|
|
string file = Path.GetFileName(map);
|
|
archive.ExtractToDirectory(Path.GetFullPath(Path.Combine(extractPath, file.Remove(file.Length - 4))));
|
|
}
|
|
}
|
|
}
|
|
// for a range of beatmaps
|
|
// TBD
|
|
else
|
|
{
|
|
|
|
}
|
|
}
|
|
} |