2018-04-13 17:19:50 +08:00
|
|
|
|
// Copyright (c) 2007-2018 ppy Pty Ltd <contact@ppy.sh>.
|
|
|
|
|
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
|
|
|
|
|
|
|
|
|
using osu.Game.Rulesets.Judgements;
|
2018-06-29 15:49:01 +08:00
|
|
|
|
using osu.Game.Rulesets.Objects.Types;
|
2018-06-10 08:38:17 +08:00
|
|
|
|
using osu.Game.Rulesets.Scoring;
|
2018-04-13 17:19:50 +08:00
|
|
|
|
|
|
|
|
|
namespace osu.Game.Rulesets.Catch.Judgements
|
|
|
|
|
{
|
|
|
|
|
public class CatchJudgement : Judgement
|
|
|
|
|
{
|
2018-06-10 08:38:17 +08:00
|
|
|
|
public override HitResult MaxResult => HitResult.Perfect;
|
|
|
|
|
|
|
|
|
|
protected override int NumericResultFor(HitResult result)
|
|
|
|
|
{
|
|
|
|
|
switch (result)
|
|
|
|
|
{
|
|
|
|
|
default:
|
|
|
|
|
return 0;
|
|
|
|
|
case HitResult.Perfect:
|
|
|
|
|
return 300;
|
|
|
|
|
}
|
|
|
|
|
}
|
2018-06-10 08:39:17 +08:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// The base health increase for the result achieved.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public float HealthIncrease => HealthIncreaseFor(Result);
|
|
|
|
|
|
2018-06-29 15:49:01 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Whether fruit on the platter should explode or drop.
|
|
|
|
|
/// Note that this is only checked if the owning object is also <see cref="IHasComboInformation.LastInCombo" />
|
|
|
|
|
/// </summary>
|
|
|
|
|
public virtual bool ShouldExplode => IsHit;
|
|
|
|
|
|
2018-06-10 08:39:17 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Convert a <see cref="HitResult"/> to a base health increase.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="result">The value to convert.</param>
|
|
|
|
|
/// <returns>The base health increase.</returns>
|
|
|
|
|
protected virtual float HealthIncreaseFor(HitResult result)
|
|
|
|
|
{
|
|
|
|
|
switch (result)
|
|
|
|
|
{
|
|
|
|
|
default:
|
|
|
|
|
return 0;
|
|
|
|
|
case HitResult.Perfect:
|
|
|
|
|
return 10.2f;
|
|
|
|
|
}
|
|
|
|
|
}
|
2018-04-13 17:19:50 +08:00
|
|
|
|
}
|
|
|
|
|
}
|