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;