Create SnapResult class to hold various snapping results

This commit is contained in:
Dean Herbert
2020-05-20 18:19:21 +09:00
parent 3354d48a38
commit c46bfc2532
10 changed files with 70 additions and 61 deletions

View File

@ -181,11 +181,8 @@ namespace osu.Game.Screens.Edit.Compose.Components.Timeline
[Resolved]
private IBeatSnapProvider beatSnapProvider { get; set; }
public (Vector2 position, double time) SnapPositionToValidTime(Vector2 position) =>
(position, beatSnapProvider.SnapTime(getTimeFromPosition(position)));
public (Vector2 position, double time) SnapScreenSpacePositionToValidTime(Vector2 position) =>
(position, beatSnapProvider.SnapTime(getTimeFromPosition(Content.ToLocalSpace(position))));
public SnapResult SnapScreenSpacePositionToValidTime(Vector2 position) =>
new SnapResult(position, beatSnapProvider.SnapTime(getTimeFromPosition(Content.ToLocalSpace(position))));
private double getTimeFromPosition(Vector2 localPosition) =>
(localPosition.X / Content.DrawWidth) * track.Length;