2022-07-09 00:33:55 -04:00
using SPT_AKI_Installer.Aki.Core.Model ;
using SPT_AKI_Installer.Aki.Helper ;
using System.IO ;
using System.Threading.Tasks ;
namespace SPT_AKI_Installer.Aki.Core.Tasks
{
public class InitializationTask : LiveTableTask
{
private InternalData _data ;
public InitializationTask ( InternalData data ) : base ( "Startup" )
{
_data = data ;
}
public override async Task < GenericResult > RunAsync ( )
{
_data . OriginalGamePath = PreCheckHelper . DetectOriginalGamePath ( ) ;
if ( _data . OriginalGamePath = = null )
{
return GenericResult . FromError ( "EFT IS NOT INSTALLED!" ) ;
}
2022-07-25 22:31:30 +01:00
var result = PreCheckHelper . DetectOriginalGameVersion ( _data . OriginalGamePath ) ;
if ( ! result . Succeeded )
{
return result ;
}
_data . OriginalGameVersion = result . Message ;
2022-07-09 00:33:55 -04:00
if ( _data . OriginalGamePath = = null )
{
2022-07-09 13:08:41 -04:00
return GenericResult . FromError ( "Unable to find EFT OG directory, please make sure EFT is installed. Please also run EFT once" ) ;
2022-07-09 00:33:55 -04:00
}
if ( _data . OriginalGamePath = = _data . TargetInstallPath )
{
2022-07-09 13:08:41 -04:00
return GenericResult . FromError ( "Installer is located in EFT's original directory. Please move the installer to a seperate folder as per the guide" ) ;
2022-07-09 00:33:55 -04:00
}
if ( File . Exists ( Path . Join ( _data . TargetInstallPath , "EscapeFromTarkov.exe" ) ) )
{
2022-07-09 13:08:41 -04:00
return GenericResult . FromError ( "Installer is located in a Folder that has existing Game Files. Please make sure the installer is in a fresh folder as per the guide" ) ;
2022-07-09 00:33:55 -04:00
}
2022-07-25 22:31:30 +01:00
2022-07-09 00:33:55 -04:00
return GenericResult . FromSuccess ( $"Current Game Version: {_data.OriginalGameVersion}" ) ;
}
}
}