Refactor flow of snapping through HitObjectComposer

This commit is contained in:
smoogipoo
2019-10-25 12:34:49 +09:00
parent a6458fdeab
commit 607b4d874a
9 changed files with 128 additions and 89 deletions

View File

@ -142,10 +142,9 @@ namespace osu.Game.Rulesets.Osu.Tests
private void assertSnappedDistance(float expectedDistance) => AddAssert($"snap distance = {expectedDistance}", () =>
{
Vector2 snappedPosition = grid.GetSnappedPosition(grid.ToLocalSpace(InputManager.CurrentState.Mouse.Position));
float distance = Vector2.Distance(snappedPosition, grid_position);
Vector2 snappedPosition = grid.GetSnappedPosition(grid.ToLocalSpace(InputManager.CurrentState.Mouse.Position)).position;
return Precision.AlmostEquals(expectedDistance, distance);
return Precision.AlmostEquals(expectedDistance, Vector2.Distance(snappedPosition, grid_position));
});
private void createGrid()
@ -160,7 +159,7 @@ namespace osu.Game.Rulesets.Osu.Tests
Colour = Color4.SlateGray
},
grid = new TestOsuDistanceSnapGrid(new HitCircle { Position = grid_position }),
new SnappingCursorContainer { GetSnapPosition = v => grid.GetSnappedPosition(grid.ToLocalSpace(v)) }
new SnappingCursorContainer { GetSnapPosition = v => grid.GetSnappedPosition(grid.ToLocalSpace(v)).position }
};
});
}