mirror of
https://github.com/LostArtefacts/TRX.git
synced 2025-04-28 20:58:07 +03:00
38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
using System.IO;
|
|
using TRX_InstallerLib.Models;
|
|
using TRX_InstallerLib.Utils;
|
|
|
|
namespace TRX_InstallerLib.Installers;
|
|
|
|
public abstract class BaseInstallSource : IInstallSource
|
|
{
|
|
public abstract IEnumerable<string> DirectoriesToTry { get; }
|
|
|
|
public virtual string ImageSource
|
|
{
|
|
get => AssemblyUtils.GetEmbeddedResourcePath($"{SourceName}.png");
|
|
}
|
|
|
|
public abstract bool IsImportingSavesSupported { get; }
|
|
public abstract string SourceName { get; }
|
|
|
|
public virtual string SuggestedInstallationDirectory
|
|
{
|
|
get => Path.Combine(
|
|
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
|
|
TRXConstants.Instance.Game!);
|
|
}
|
|
|
|
public abstract Task CopyOriginalGameFiles(
|
|
string sourceDirectory,
|
|
string targetDirectory,
|
|
IProgress<InstallProgress> progress,
|
|
bool importSaves
|
|
);
|
|
|
|
public abstract bool IsDownloadingMusicNeeded(string sourceDirectory);
|
|
|
|
public abstract bool IsDownloadingExpansionNeeded(string sourceDirectory);
|
|
|
|
public abstract bool IsGameFound(string sourceDirectory);
|
|
}
|