scrap paths directly

This commit is contained in:
Вячеслав 2026-01-01 05:46:42 +05:00
parent 13a076ad79
commit c6a0b39ded
3 changed files with 60 additions and 51 deletions

View file

@ -9,13 +9,13 @@ public class ZipScrapper
{
return new InstallationParts
{
AndroidContentExists = DoesAndroidContentExists(archive),
OculusClientExists = DoesOculusClientExists(archive),
PicoClientExists = DoesPicoClientExists(archive),
AndroidAdminExists = DoesAndroidAdminExists(archive),
WindowsAdminExists = DoesPcAdminExists(archive),
WindowsContentExists = DoesWindowsContentExists(archive),
WindowsServerExists = DoesServerExists(archive),
AndroidContentPath = DoesAndroidContentExists(archive),
OculusClientPath = DoesOculusClientExists(archive),
PicoClientPath = DoesPicoClientExists(archive),
AndroidAdminPath = DoesAndroidAdminExists(archive),
WindowsAdminPath = DoesPcAdminExists(archive),
WindowsContentPath = DoesWindowsContentExists(archive),
WindowsServerPath = DoesServerExists(archive),
};
// Console.WriteLine($"Contents of {archive}:");
// Console.WriteLine("----------------------------------");
@ -36,54 +36,63 @@ public class ZipScrapper
return outputPath;
}
private static bool DoesPicoClientExists(ZipArchive archive)
private static string? DoesPicoClientExists(ZipArchive archive)
{
return archive.Entries
.Any(entry => entry.Name.Contains("MetaforcePico")
&& entry.Name.EndsWith(".apk"));
var entry = archive.Entries.FirstOrDefault(entry =>
entry.Name.Contains("MetaforcePico")
&& entry.Name.EndsWith(".apk"));
return entry?.FullName;
}
private static bool DoesOculusClientExists(ZipArchive archive)
private static string? DoesOculusClientExists(ZipArchive archive)
{
return archive.Entries
.Any(entry => entry.Name.Contains("MetaforceOculus")
&& entry.Name.EndsWith(".apk"));
var entry = archive.Entries.FirstOrDefault(entry =>
entry.Name.Contains("MetaforceOculus")
&& entry.Name.EndsWith(".apk"));
return entry?.FullName;
}
private static bool DoesAndroidAdminExists(ZipArchive archive)
private static string? DoesAndroidAdminExists(ZipArchive archive)
{
return archive.Entries
.Any(entry => entry.Name.Contains("MetaforceAdmin")
&& entry.Name.EndsWith(".apk"));
var entry = archive.Entries.FirstOrDefault(entry =>
entry.Name.Contains("MetaforceAdmin")
&& entry.Name.EndsWith(".apk"));
return entry?.FullName;
}
private static bool DoesAndroidContentExists(ZipArchive archive)
private static string? DoesAndroidContentExists(ZipArchive archive)
{
return archive.Entries
.Any(entry => entry.Name.Contains("Content_Android")
&& entry.Name.EndsWith(".zip"));
var entry = archive.Entries.FirstOrDefault(entry =>
entry.Name.Contains("Content_Android")
&& entry.Name.EndsWith(".zip"));
return entry?.FullName;
}
private static bool DoesWindowsContentExists(ZipArchive archive)
private static string? DoesWindowsContentExists(ZipArchive archive)
{
return archive.Entries
.Any(entry => entry.Name.Contains("Content_StandaloneWindows")
&& entry.Name.EndsWith(".zip"));
var entry = archive.Entries.FirstOrDefault(entry =>
entry.Name.Contains("Content_StandaloneWindows")
&& entry.Name.EndsWith(".zip"));
return entry?.FullName;
}
private static bool DoesPcAdminExists(ZipArchive archive)
private static string? DoesPcAdminExists(ZipArchive archive)
{
return archive.Entries
.Any(entry => entry.FullName.Contains("MetaforceAdminPC")
&& entry.Name.EndsWith(".exe") && !entry.Name.Contains("UnityCrashHandler") &&
!entry.Name.Contains("crashpad_handler"));
var entry = archive.Entries.FirstOrDefault(entry =>
entry.FullName.Contains("MetaforceAdminPC") &&
entry.Name.EndsWith(".exe")
&& !entry.Name.Contains("UnityCrashHandler") &&
!entry.Name.Contains("crashpad_handler"));
return entry?.FullName;
}
private static bool DoesServerExists(ZipArchive archive)
private static string? DoesServerExists(ZipArchive archive)
{
return archive.Entries
.Any(entry => entry.FullName.Contains("MetaforceServer")
&& entry.Name.EndsWith(".exe") && !entry.Name.Contains("UnityCrashHandler") &&
!entry.Name.Contains("crashpad_handler"));
var entry = archive.Entries.FirstOrDefault(entry =>
entry.FullName.Contains("MetaforceServer") &&
entry.Name.EndsWith(".exe")
&& !entry.Name.Contains("UnityCrashHandler") &&
!entry.Name.Contains("crashpad_handler"));
return entry?.FullName;
}
}