using System; using LANCommander.Steam.Models; namespace LANCommander.Steam.Events; /// /// Event arguments for install progress updates /// public class SteamCmdInstallProgressEventArgs : EventArgs { /// /// The install job this progress update is for /// public SteamCmdInstallJob Job { get; } /// /// Progress percentage (0-100) /// public double Progress { get; } /// /// Status message /// public string StatusMessage { get; } /// /// Bytes downloaded /// public long BytesDownloaded { get; } /// /// Total bytes to download /// public long BytesTotal { get; } /// /// Download speed in bytes per second /// public long BytesPerSecond { get; } public SteamCmdInstallProgressEventArgs( SteamCmdInstallJob job, double progress, string statusMessage, long bytesDownloaded = 0, long bytesTotal = 0, long bytesPerSecond = 0) { Job = job; Progress = progress; StatusMessage = statusMessage; BytesDownloaded = bytesDownloaded; BytesTotal = bytesTotal; BytesPerSecond = bytesPerSecond; } }