Files
AlayaCore/AlayaCore/Abstractions/Interfaces/ILaunchDirector.cs

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