1
0
mirror of https://github.com/ppy/osu.git synced 2025-02-15 13:22:57 +08:00

Fix icon orientation for horizontal bar hit error meter

This commit is contained in:
AbstractQbit 2021-09-13 17:14:39 +03:00
parent 1e09f558d1
commit 7267602b95
2 changed files with 15 additions and 6 deletions

View File

@ -33,6 +33,8 @@ namespace osu.Game.Screens.Play.HUD.HitErrorMeters
private const float chevron_size = 8;
private SpriteIcon arrow;
private SpriteIcon iconEarly;
private SpriteIcon iconLate;
private Container colourBarsEarly;
private Container colourBarsLate;
@ -97,25 +99,21 @@ namespace osu.Game.Screens.Play.HUD.HitErrorMeters
RelativeSizeAxes = Axes.Both,
Height = 0.5f,
},
new SpriteIcon
iconEarly = new SpriteIcon
{
Y = -10,
Size = new Vector2(10),
Icon = FontAwesome.Solid.ShippingFast,
Anchor = Anchor.TopCentre,
Origin = Anchor.Centre,
// undo any layout rotation to display the icon the correct orientation
Rotation = -Rotation,
},
new SpriteIcon
iconLate = new SpriteIcon
{
Y = 10,
Size = new Vector2(10),
Icon = FontAwesome.Solid.Bicycle,
Anchor = Anchor.BottomCentre,
Origin = Anchor.Centre,
// undo any layout rotation to display the icon the correct orientation
Rotation = -Rotation,
}
}
},
@ -130,6 +128,7 @@ namespace osu.Game.Screens.Play.HUD.HitErrorMeters
};
createColourBars(colours);
OrientIcons();
}
protected override void LoadComplete()
@ -143,6 +142,15 @@ namespace osu.Game.Screens.Play.HUD.HitErrorMeters
arrow.Delay(200).FadeInFromZero(600);
}
/// <summary>
/// Method to undo any layout rotation to display icons in the correct orientation.
/// </summary>
public void OrientIcons()
{
iconEarly.Rotation = -Rotation;
iconLate.Rotation = -Rotation;
}
private void createColourBars(OsuColour colours)
{
var windows = HitWindows.GetAllAvailableWindows().ToArray();

View File

@ -376,6 +376,7 @@ namespace osu.Game.Skinning
hitError.Anchor = Anchor.BottomCentre;
hitError.Origin = Anchor.CentreLeft;
hitError.Rotation = -90;
if (hitError is BarHitErrorMeter barHitError) barHitError.OrientIcons();
}
if (songProgress != null)