28 lines
910 B
C#
28 lines
910 B
C#
using System;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using AlayaCore.Models;
|
|
using AlayaCore.States;
|
|
using CmlLib.Core;
|
|
using CmlLib.Core.Installers;
|
|
|
|
namespace AlayaCore.Abstractions.Interfaces
|
|
{
|
|
public interface ILaunchDirector
|
|
{
|
|
Task<LaunchPlan> EvaluateAsync(CancellationToken cancellationToken = default);
|
|
|
|
Task InstallOrUpdateAsync(CancellationToken cancellationToken = default,
|
|
EventHandler<InstallerProgressChangedEventArgs>? minecraftProgess = null,
|
|
EventHandler<ByteProgress>? byteProgress = null,
|
|
IProgress<InstallerProgressChangedEventArgs>? neoForgeProgress = null,
|
|
IProgress<ByteProgress>? neoForgeByteProgress = null);
|
|
|
|
Task LaunchAsync(CancellationToken cancellationToken = default);
|
|
|
|
bool CanRun { get; }
|
|
bool NeedsUpdating { get; }
|
|
|
|
LaunchPlan? CurrentPlan { get; }
|
|
}
|
|
} |