osu/osu.Game/Beatmaps/Timing/BreakPeriod.cs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

54 lines
1.7 KiB
C#
Raw Normal View History

// 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.
2018-04-13 09:19:50 +00:00
using osu.Game.Screens.Play;
namespace osu.Game.Beatmaps.Timing
2017-05-17 09:42:48 +00:00
{
public class BreakPeriod
2017-05-17 09:42:48 +00:00
{
/// <summary>
/// The minimum duration required for a break to have any effect.
/// </summary>
public const double MIN_BREAK_DURATION = 650;
2018-04-13 09:19:50 +00:00
/// <summary>
/// The break start time.
/// </summary>
public double StartTime;
2018-04-13 09:19:50 +00:00
2017-05-17 09:42:48 +00:00
/// <summary>
/// The break end time.
/// </summary>
public double EndTime;
2018-04-13 09:19:50 +00:00
2017-05-17 09:42:48 +00:00
/// <summary>
/// The break duration.
2017-05-17 09:42:48 +00:00
/// </summary>
public double Duration => EndTime - StartTime;
2018-04-13 09:19:50 +00:00
2017-05-17 09:42:48 +00:00
/// <summary>
2020-10-12 06:28:16 +00:00
/// Whether the break has any effect.
2017-05-17 09:42:48 +00:00
/// </summary>
public bool HasEffect => Duration >= MIN_BREAK_DURATION;
2019-05-12 07:25:25 +00:00
/// <summary>
/// Constructs a new break period.
/// </summary>
/// <param name="startTime">The start time of the break period.</param>
/// <param name="endTime">The end time of the break period.</param>
public BreakPeriod(double startTime, double endTime)
{
StartTime = startTime;
EndTime = endTime;
}
2019-05-12 07:25:25 +00:00
/// <summary>
/// Whether this break contains a specified time.
/// </summary>
/// <param name="time">The time to check in milliseconds.</param>
/// <returns>Whether the time falls within this <see cref="BreakPeriod"/>.</returns>
public bool Contains(double time) => time >= StartTime && time <= EndTime - BreakOverlay.BREAK_FADE_DURATION;
2017-05-17 09:42:48 +00:00
}
2018-01-05 11:21:19 +00:00
}