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:
parent
d5e42a8daa
commit
59e5a8556f
@ -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)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user