2022-05-31 16:37:48 +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.
2022-06-17 15:37:17 +08:00
#nullable disable
2022-05-31 16:37:48 +08:00
using MessagePack ;
using osu.Game.Rulesets.Judgements ;
using osu.Game.Rulesets.Objects ;
using osu.Game.Rulesets.Scoring ;
namespace osu.Game.Scoring
{
2022-06-02 15:39:50 +08:00
/// <summary>
/// Stores the required scoring data that fulfils the minimum requirements for a <see cref="ScoreProcessor"/> to calculate score.
/// </summary>
2022-05-31 16:37:48 +08:00
[MessagePackObject]
public struct ScoringValues
{
/// <summary>
/// The sum of all "basic" <see cref="HitObject"/> scoring values. See: <see cref="HitResultExtensions.IsBasic"/> and <see cref="Judgement.ToNumericResult"/>.
/// </summary>
[Key(0)]
2022-11-07 06:59:27 +08:00
public long BaseScore ;
2022-05-31 16:37:48 +08:00
/// <summary>
/// The sum of all "bonus" <see cref="HitObject"/> scoring values. See: <see cref="HitResultExtensions.IsBonus"/> and <see cref="Judgement.ToNumericResult"/>.
/// </summary>
[Key(1)]
2022-11-07 06:59:27 +08:00
public long BonusScore ;
2022-05-31 16:37:48 +08:00
/// <summary>
/// The highest achieved combo.
/// </summary>
[Key(2)]
public int MaxCombo ;
/// <summary>
/// The count of "basic" <see cref="HitObject"/>s. See: <see cref="HitResultExtensions.IsBasic"/>.
/// </summary>
[Key(3)]
2022-06-02 15:35:50 +08:00
public int CountBasicHitObjects ;
2022-05-31 16:37:48 +08:00
}
}