1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-15 15:27:20 +08:00

set FirstHitTime and LastHitTime once

This commit is contained in:
Nitrous 2022-07-28 15:25:12 +08:00
parent 70ed347b06
commit bca3994d91
No known key found for this signature in database
GPG Key ID: 85EC4A6AE8F69D64

View File

@ -27,13 +27,19 @@ namespace osu.Game.Screens.Play.HUD
public IEnumerable<HitObject> Objects
{
set => UpdateObjects(objects = value);
set
{
objects = value;
FirstHitTime = objects.FirstOrDefault()?.StartTime ?? 0;
LastHitTime = objects.LastOrDefault()?.GetEndTime() ?? 0;
UpdateObjects(objects);
}
}
protected double FirstHitTime => objects.FirstOrDefault()?.StartTime ?? 0;
protected double FirstHitTime { get; private set; }
//TODO: this isn't always correct (consider mania where a non-last object may last for longer than the last in the list).
protected double LastHitTime => objects.LastOrDefault()?.GetEndTime() ?? 0;
protected double LastHitTime { get; private set; }
protected abstract void UpdateProgress(double progress, bool isIntro);
protected abstract void UpdateObjects(IEnumerable<HitObject> objects);