2023-05-14 22:35:06 -04:00
|
|
|
|
using Serilog;
|
|
|
|
|
using SPTInstaller.Aki.Helper;
|
2023-05-11 23:11:39 -04:00
|
|
|
|
using SPTInstaller.Interfaces;
|
|
|
|
|
using SPTInstaller.Models;
|
2022-07-09 00:33:55 -04:00
|
|
|
|
using System;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
2023-05-11 23:11:39 -04:00
|
|
|
|
namespace SPTInstaller.Installer_Tasks
|
2022-07-09 00:33:55 -04:00
|
|
|
|
{
|
2023-05-11 23:11:39 -04:00
|
|
|
|
public class CopyClientTask : InstallerTaskBase
|
2022-07-09 00:33:55 -04:00
|
|
|
|
{
|
|
|
|
|
private InternalData _data;
|
|
|
|
|
|
2023-05-11 23:11:39 -04:00
|
|
|
|
public CopyClientTask(InternalData data) : base("Copy Client Files")
|
2022-07-09 00:33:55 -04:00
|
|
|
|
{
|
|
|
|
|
_data = data;
|
|
|
|
|
}
|
|
|
|
|
|
2023-05-11 23:11:39 -04:00
|
|
|
|
public override async Task<IResult> TaskOperation()
|
2022-07-09 00:33:55 -04:00
|
|
|
|
{
|
2023-05-14 22:35:06 -04:00
|
|
|
|
SetStatus("Copying Client Files", "", 0);
|
2022-07-09 00:33:55 -04:00
|
|
|
|
|
2022-07-09 13:08:41 -04:00
|
|
|
|
var originalGameDirInfo = new DirectoryInfo(_data.OriginalGamePath);
|
|
|
|
|
var targetInstallDirInfo = new DirectoryInfo(_data.TargetInstallPath);
|
2022-07-09 00:33:55 -04:00
|
|
|
|
|
2023-05-14 22:35:06 -04:00
|
|
|
|
return FileHelper.CopyDirectoryWithProgress(originalGameDirInfo, targetInstallDirInfo, (message, progress) => { SetStatus($"Copying Client Files", message, progress, null, true); });
|
2022-07-09 00:33:55 -04:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|