2020-12-18 16:07:38 +08:00
|
|
|
// 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.
|
|
|
|
|
2023-05-18 17:53:43 +08:00
|
|
|
using System;
|
2020-12-18 16:07:38 +08:00
|
|
|
using osu.Framework.Bindables;
|
2023-05-18 17:53:43 +08:00
|
|
|
using osu.Game.Rulesets.Scoring;
|
2020-12-18 16:07:38 +08:00
|
|
|
|
|
|
|
namespace osu.Game.Screens.Play.HUD
|
|
|
|
{
|
|
|
|
public interface ILeaderboardScore
|
|
|
|
{
|
2022-11-07 06:59:27 +08:00
|
|
|
BindableLong TotalScore { get; }
|
2020-12-18 16:07:38 +08:00
|
|
|
BindableDouble Accuracy { get; }
|
|
|
|
BindableInt Combo { get; }
|
2020-12-26 10:43:10 +08:00
|
|
|
|
|
|
|
BindableBool HasQuit { get; }
|
2022-09-14 13:18:12 +08:00
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// An optional value to guarantee stable ordering.
|
|
|
|
/// Lower numbers will appear higher in cases of <see cref="TotalScore"/> ties.
|
|
|
|
/// </summary>
|
|
|
|
Bindable<long> DisplayOrder { get; }
|
2023-05-18 17:53:43 +08:00
|
|
|
|
2023-05-29 18:41:53 +08:00
|
|
|
/// <summary>
|
2023-05-29 18:46:50 +08:00
|
|
|
/// A custom function which handles converting a score to a display score using a provide <see cref="ScoringMode"/>.
|
2023-05-29 18:41:53 +08:00
|
|
|
/// </summary>
|
2023-05-29 18:46:50 +08:00
|
|
|
/// <remarks>
|
|
|
|
/// If no function is provided, <see cref="TotalScore"/> will be used verbatim.</remarks>
|
2023-05-29 18:41:53 +08:00
|
|
|
Func<ScoringMode, long> GetDisplayScore { set; }
|
2020-12-18 16:07:38 +08:00
|
|
|
}
|
|
|
|
}
|