mirror of
https://github.com/osukey/osukey.git
synced 2025-06-24 04:38:02 +09:00
Converted an inline lambda into a method (getBeatsForTimingPoint
)
This commit is contained in:
parent
a7ea7b8b0b
commit
dae7b8025d
@ -193,19 +193,7 @@ namespace osu.Game.Rulesets.Osu.Mods
|
|||||||
|
|
||||||
var beats = beatmap.ControlPointInfo.TimingPoints
|
var beats = beatmap.ControlPointInfo.TimingPoints
|
||||||
.Where(x => Precision.AlmostBigger(endTime, x.Time))
|
.Where(x => Precision.AlmostBigger(endTime, x.Time))
|
||||||
.SelectMany(tp =>
|
.SelectMany(timingPoint => getBeatsForTimingPoint(timingPoint, endTime))
|
||||||
{
|
|
||||||
var tpBeats = new List<double>();
|
|
||||||
var currentTime = tp.Time;
|
|
||||||
|
|
||||||
while (Precision.AlmostBigger(endTime, currentTime) && beatmap.ControlPointInfo.TimingPointAt(currentTime) == tp)
|
|
||||||
{
|
|
||||||
tpBeats.Add(Math.Floor(currentTime));
|
|
||||||
currentTime += tp.BeatLength;
|
|
||||||
}
|
|
||||||
|
|
||||||
return tpBeats;
|
|
||||||
})
|
|
||||||
.Where(x => Precision.AlmostBigger(x, startTime))
|
.Where(x => Precision.AlmostBigger(x, startTime))
|
||||||
// Remove beats during breaks
|
// Remove beats during breaks
|
||||||
.Where(x => !beatmap.Breaks.Any(b =>
|
.Where(x => !beatmap.Breaks.Any(b =>
|
||||||
@ -379,6 +367,22 @@ namespace osu.Game.Rulesets.Osu.Mods
|
|||||||
|
|
||||||
#region Helper Subroutines
|
#region Helper Subroutines
|
||||||
|
|
||||||
|
private IEnumerable<double> getBeatsForTimingPoint(TimingControlPoint timingPoint, double mapEndTime)
|
||||||
|
{
|
||||||
|
var beats = new List<double>();
|
||||||
|
int i = 0;
|
||||||
|
var currentTime = timingPoint.Time;
|
||||||
|
|
||||||
|
while (Precision.AlmostBigger(mapEndTime, currentTime) && controlPointInfo.TimingPointAt(currentTime) == timingPoint)
|
||||||
|
{
|
||||||
|
beats.Add(Math.Floor(currentTime));
|
||||||
|
i++;
|
||||||
|
currentTime = timingPoint.Time + i * timingPoint.BeatLength;
|
||||||
|
}
|
||||||
|
|
||||||
|
return beats;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get samples (if any) for a specific point in time.
|
/// Get samples (if any) for a specific point in time.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user