/// <exception cref="ArgumentException">Throws if <see cref="DownloadState.Downloading"/> was specified in this constructor, as it has its own constructor (see <see cref="BeatmapAvailability(DownloadState, double)"/>.</exception>
publicBeatmapAvailability(DownloadStatestate)
{
if(state==DownloadState.Downloading)
thrownewArgumentException($"{nameof(DownloadState.Downloading)} state has its own constructor, use it instead.");
State=state;
DownloadProgress=null;
}
/// <summary>
/// Constructs a new <see cref="DownloadState.Downloading"/>-specific beatmap availability state.
/// </summary>
/// <param name="state">The beatmap availability state (always <see cref="DownloadState.Downloading"/>).</param>
/// <param name="downloadProgress">The beatmap's downloading current progress.</param>
/// <exception cref="ArgumentException">Throws if non-<see cref="DownloadState.Downloading"/> was specified in this constructor, as they have their own constructor (see <see cref="BeatmapAvailability(DownloadState)"/>.</exception>