Merge branch 'hit-policy-refactor' into classic-mode-flags

This commit is contained in:
smoogipoo
2021-02-08 20:12:33 +09:00
6 changed files with 35 additions and 23 deletions

View File

@ -6,6 +6,7 @@ using System.Linq;
using osu.Game.Rulesets.Objects;
using osu.Game.Rulesets.Objects.Drawables;
using osu.Game.Rulesets.Osu.Objects.Drawables;
using osu.Game.Rulesets.UI;
namespace osu.Game.Rulesets.Osu.UI
{
@ -17,9 +18,7 @@ namespace osu.Game.Rulesets.Osu.UI
/// </summary>
public class ObjectOrderedHitPolicy : IHitPolicy
{
private IEnumerable<DrawableHitObject> hitObjects;
public void SetHitObjects(IEnumerable<DrawableHitObject> hitObjects) => this.hitObjects = hitObjects;
public IHitObjectContainer HitObjectContainer { get; set; }
public bool IsHittable(DrawableHitObject hitObject, double time) => enumerateHitObjectsUpTo(hitObject.HitObject.StartTime).All(obj => obj.AllJudged);
@ -29,7 +28,7 @@ namespace osu.Game.Rulesets.Osu.UI
private IEnumerable<DrawableHitObject> enumerateHitObjectsUpTo(double targetTime)
{
foreach (var obj in hitObjects)
foreach (var obj in HitObjectContainer.AliveObjects)
{
if (obj.HitObject.StartTime >= targetTime)
yield break;