1
0
mirror of https://github.com/ppy/osu.git synced 2024-10-01 04:17:51 +08:00
osu-lazer/osu.Game.Rulesets.Catch/Objects/PalpableCatchHitObject.cs

36 lines
1.4 KiB
C#
Raw Normal View History

2020-11-25 07:00:11 +08:00
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
2020-11-24 18:16:03 +08:00
// See the LICENCE file in the repository root for full licence text.
using System.Collections.Generic;
using osu.Game.Rulesets.Objects.Types;
using osuTK.Graphics;
2020-11-24 18:16:03 +08:00
namespace osu.Game.Rulesets.Catch.Objects
{
/// <summary>
/// Represents a single object that can be caught by the catcher.
2020-11-25 07:00:11 +08:00
/// This includes normal fruits, droplets, and bananas but excludes objects that act only as a container of nested hit objects.
2020-11-24 18:16:03 +08:00
/// </summary>
public abstract class PalpableCatchHitObject : CatchHitObject, IHasComboInformation
2020-11-24 18:16:03 +08:00
{
/// <summary>
/// Difference between the distance to the next object
/// and the distance that would have triggered a hyper dash.
/// A value close to 0 indicates a difficult jump (for difficulty calculation).
/// </summary>
public float DistanceToHyperDash { get; set; }
/// <summary>
/// Whether this fruit can initiate a hyperdash.
/// </summary>
public bool HyperDash => HyperDashTarget != null;
/// <summary>
/// The target fruit if we are to initiate a hyperdash.
/// </summary>
public CatchHitObject HyperDashTarget;
Color4 IHasComboInformation.GetComboColour(IReadOnlyList<Color4> comboColours) => comboColours[(IndexInBeatmap + 1) % comboColours.Count];
2020-11-24 18:16:03 +08:00
}
}