1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 09:42:54 +08:00

Fix volume control adjustment being extreme when precision scrolling

This commit is contained in:
Dean Herbert 2018-06-08 18:15:03 +09:00
parent d5e42a8daa
commit 59e5a8556f

View File

@ -167,9 +167,25 @@ namespace osu.Game.Overlays.Volume
private set => Bindable.Value = value; private set => Bindable.Value = value;
} }
public void Increase() => Volume += 0.05f; private const float adjust_step = 0.05f;
public void Decrease() => Volume -= 0.05f; public void Increase() => adjust(1);
public void Decrease() => adjust(-1);
private void adjust(int direction)
{
float amount = adjust_step * direction;
var mouse = GetContainingInputManager().CurrentState.Mouse;
if (mouse.HasPreciseScroll)
{
float scrollDelta = mouse.ScrollDelta.Y;
if (scrollDelta != 0)
amount *= Math.Abs(scrollDelta / 10);
}
Volume += amount;
}
public bool OnPressed(GlobalAction action) public bool OnPressed(GlobalAction action)
{ {