Change snapping to be screen space coordinate based

This commit is contained in:
Dean Herbert
2020-05-20 17:48:43 +09:00
parent b6c9a50f7a
commit 3354d48a38
16 changed files with 65 additions and 41 deletions

View File

@ -23,7 +23,7 @@ namespace osu.Game.Tests.Visual.Editing
[Cached(typeof(EditorBeatmap))]
private readonly EditorBeatmap editorBeatmap;
[Cached(typeof(IDistanceSnapProvider))]
[Cached(typeof(IPositionSnapProvider))]
private readonly SnapProvider snapProvider = new SnapProvider();
public TestSceneDistanceSnapGrid()
@ -151,9 +151,11 @@ namespace osu.Game.Tests.Visual.Editing
=> (Vector2.Zero, 0);
}
private class SnapProvider : IDistanceSnapProvider
private class SnapProvider : IPositionSnapProvider
{
public (Vector2 position, double time) GetSnappedPosition(Vector2 position, double time) => (position, time);
public (Vector2 position, double time) SnapPositionToValidTime(Vector2 position) => (position, 0);
public (Vector2 position, double time) SnapScreenSpacePositionToValidTime(Vector2 screenSpacePosition) => (screenSpacePosition, 0);
public float GetBeatSnapDistanceAt(double referenceTime) => 10;