31 lines
932 B
C#
Raw Normal View History

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
}
}
}