1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-21 20:07:25 +08:00

Merge pull request #23576 from peppy/fix-random-button-right-click

Fix random button hover state sticking when rewinding using right mouse button
This commit is contained in:
Bartłomiej Dach 2023-05-17 21:02:39 +02:00 committed by GitHub
commit fb441b864e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -93,16 +93,22 @@ namespace osu.Game.Screens.Select
protected override bool OnKeyDown(KeyDownEvent e)
{
updateText(e.ShiftPressed);
updateText(e);
return base.OnKeyDown(e);
}
protected override void OnKeyUp(KeyUpEvent e)
{
updateText(e.ShiftPressed);
updateText(e);
base.OnKeyUp(e);
}
protected override bool OnMouseDown(MouseDownEvent e)
{
updateText(e);
return base.OnMouseDown(e);
}
protected override bool OnClick(ClickEvent e)
{
try
@ -119,14 +125,15 @@ namespace osu.Game.Screens.Select
protected override void OnMouseUp(MouseUpEvent e)
{
base.OnMouseUp(e);
if (e.Button == MouseButton.Right && IsHovered)
{
rewindSearch = true;
TriggerClick();
return;
}
base.OnMouseUp(e);
updateText(e);
}
public override bool OnPressed(KeyBindingPressEvent<GlobalAction> e)
@ -151,10 +158,12 @@ namespace osu.Game.Screens.Select
}
}
private void updateText(bool rewind = false)
private void updateText(UIEvent e)
{
randomSpriteText.Alpha = rewind ? 0 : 1;
rewindSpriteText.Alpha = rewind ? 1 : 0;
bool aboutToRewind = e.ShiftPressed || e.CurrentState.Mouse.IsPressed(MouseButton.Right);
randomSpriteText.Alpha = aboutToRewind ? 0 : 1;
rewindSpriteText.Alpha = aboutToRewind ? 1 : 0;
}
}
}