mirror of
https://github.com/ppy/osu.git
synced 2024-12-15 21:03:08 +08:00
Fix hit error bar icon orientation
Icons now keep their original orientation when the hit error bar is flipped
This commit is contained in:
parent
10aabfc650
commit
cd1885a17b
@ -338,8 +338,26 @@ namespace osu.Game.Screens.Play.HUD.HitErrorMeters
|
|||||||
base.Update();
|
base.Update();
|
||||||
|
|
||||||
// undo any layout rotation to display icons in the correct orientation
|
// undo any layout rotation to display icons in the correct orientation
|
||||||
if (labelEarly != null) labelEarly.Rotation = -Rotation;
|
bool xFlipped = Scale.X < 0;
|
||||||
if (labelLate != null) labelLate.Rotation = -Rotation;
|
bool yFlipped = Scale.Y < 0;
|
||||||
|
bool horizontal = Rotation == 90 || Rotation == -90;
|
||||||
|
|
||||||
|
bool flipX = (xFlipped && yFlipped) || (xFlipped && !horizontal) || (yFlipped && horizontal);
|
||||||
|
bool flipY = (xFlipped && yFlipped) || (xFlipped && horizontal) || (yFlipped && !horizontal);
|
||||||
|
|
||||||
|
Vector2 flipScale = new Vector2(flipX ? -1 : 1, flipY ? -1 : 1);
|
||||||
|
|
||||||
|
if (labelEarly != null)
|
||||||
|
{
|
||||||
|
labelEarly.Rotation = -Rotation;
|
||||||
|
labelEarly.Scale = flipScale;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (labelLate != null)
|
||||||
|
{
|
||||||
|
labelLate.Rotation = -Rotation;
|
||||||
|
labelLate.Scale = flipScale;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createColourBars((HitResult result, double length)[] windows)
|
private void createColourBars((HitResult result, double length)[] windows)
|
||||||
|
Loading…
Reference in New Issue
Block a user