mirror of https://github.com/ppy/osu
53 lines
1.6 KiB
C#
53 lines
1.6 KiB
C#
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
|
// See the LICENCE file in the repository root for full licence text.
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using osu.Game.Database;
|
|
|
|
#nullable enable
|
|
|
|
namespace osu.Game.Beatmaps
|
|
{
|
|
/// <summary>
|
|
/// A representation of a collection of beatmap difficulties, generally packaged as an ".osz" archive.
|
|
/// </summary>
|
|
public interface IBeatmapSetInfo : IHasOnlineID
|
|
{
|
|
/// <summary>
|
|
/// The date when this beatmap was imported.
|
|
/// </summary>
|
|
DateTimeOffset DateAdded { get; }
|
|
|
|
/// <summary>
|
|
/// The best-effort metadata representing this set. In the case metadata differs between contained beatmaps, one is arbitrarily chosen.
|
|
/// </summary>
|
|
IBeatmapMetadataInfo? Metadata { get; }
|
|
|
|
/// <summary>
|
|
/// All beatmaps contained in this set.
|
|
/// </summary>
|
|
IEnumerable<IBeatmapInfo> Beatmaps { get; }
|
|
|
|
/// <summary>
|
|
/// All files used by this set.
|
|
/// </summary>
|
|
IEnumerable<INamedFileUsage> Files { get; }
|
|
|
|
/// <summary>
|
|
/// The maximum star difficulty of all beatmaps in this set.
|
|
/// </summary>
|
|
double MaxStarDifficulty { get; }
|
|
|
|
/// <summary>
|
|
/// The maximum playable length in milliseconds of all beatmaps in this set.
|
|
/// </summary>
|
|
double MaxLength { get; }
|
|
|
|
/// <summary>
|
|
/// The maximum BPM of all beatmaps in this set.
|
|
/// </summary>
|
|
double MaxBPM { get; }
|
|
}
|
|
}
|