Implement mania beat snapping support

This commit is contained in:
Dean Herbert
2020-05-20 18:40:55 +09:00
parent ffb8d48fc3
commit 23bf0d000e
3 changed files with 18 additions and 12 deletions

View File

@ -63,7 +63,14 @@ namespace osu.Game.Rulesets.Mania.Edit
drawableRuleset.ScrollingInfo.TimeRange.Value,
hoc.DrawHeight);
return new SnapResult(screenSpacePosition, targetTime);
targetTime = BeatSnapProvider.SnapTime(targetTime);
screenSpacePosition.Y = hoc.ToScreenSpace(
new Vector2(0, drawableRuleset.ScrollingInfo.Algorithm.PositionAt(targetTime, EditorClock.CurrentTime, drawableRuleset.ScrollingInfo.TimeRange.Value,
hoc.DrawHeight))
).Y;
return new SnapResult(screenSpacePosition, BeatSnapProvider.SnapTime(targetTime));
}
protected override DrawableRuleset<ManiaHitObject> CreateDrawableRuleset(Ruleset ruleset, IBeatmap beatmap, IReadOnlyList<Mod> mods = null)