29 lines
899 B
C#
29 lines
899 B
C#
using SPTInstaller.Interfaces;
|
|
using SPTInstaller.Models;
|
|
using System.Threading.Tasks;
|
|
using SPTInstaller.Helpers;
|
|
|
|
namespace SPTInstaller.Installer_Tasks;
|
|
|
|
public class CopyClientTask : InstallerTaskBase
|
|
{
|
|
private InternalData _data;
|
|
|
|
public CopyClientTask(InternalData data) : base("Copy Client Files")
|
|
{
|
|
_data = data;
|
|
}
|
|
|
|
public override async Task<IResult> TaskOperation()
|
|
{
|
|
SetStatus("Copying Client Files", "", 0);
|
|
|
|
var originalGameDirInfo = new DirectoryInfo(_data.OriginalGamePath);
|
|
var targetInstallDirInfo = new DirectoryInfo(_data.TargetInstallPath);
|
|
|
|
// relative path for exclusions
|
|
var exclusions = new[] { "\\Logs" };
|
|
|
|
return FileHelper.CopyDirectoryWithProgress(originalGameDirInfo, targetInstallDirInfo, (message, progress) => { SetStatus(null, message, progress, null, true); }, exclusions);
|
|
}
|
|
} |