using System;
namespace LANCommander.SDK.Plugins.Events;
/// Raised just before a game install begins.
public sealed record GameInstallingEvent(Guid GameId, string? InstallDirectory);
/// Raised after a game has finished installing.
public sealed record GameInstalledEvent(Guid GameId, string InstallDirectory);
/// Raised when a game install fails.
public sealed record GameInstallFailedEvent(Guid GameId, string? InstallDirectory);
/// Raised just before a game is uninstalled.
public sealed record GameUninstallingEvent(Guid GameId, string? InstallDirectory);
/// Raised after a game has finished uninstalling.
public sealed record GameUninstalledEvent(Guid GameId);
/// Raised immediately before a game's executable is launched.
public sealed record GameBeforeLaunchEvent(Guid GameId, string InstallDirectory, string? Action);
/// Raised immediately after a launched game process exits.
public sealed record GameAfterExitEvent(Guid GameId, string InstallDirectory);
/// Raised whenever the install/download queue changes.
public sealed record InstallQueueChangedEvent;