mirror of
https://github.com/ppy/osu.git
synced 2025-02-20 20:33:21 +08:00
Adjust visual tree of counter.
This commit is contained in:
parent
0da0d4f35e
commit
f4ac1f630d
@ -9,10 +9,11 @@ using osu.Framework.Graphics.Sprites;
|
||||
|
||||
namespace osu.Game.Graphics.UserInterface
|
||||
{
|
||||
public abstract class KeyCounter : AutoSizeContainer
|
||||
public abstract class KeyCounter : Container
|
||||
{
|
||||
private Sprite buttonSprite;
|
||||
private Sprite glowSprite;
|
||||
private Container textLayer;
|
||||
private SpriteText keySpriteText;
|
||||
private SpriteText countSpriteText;
|
||||
|
||||
@ -54,34 +55,43 @@ namespace osu.Game.Graphics.UserInterface
|
||||
Texture = Game.Textures.Get(@"KeyCounter/key-up"),
|
||||
Anchor = Anchor.Centre,
|
||||
Origin = Anchor.Centre,
|
||||
},
|
||||
glowSprite = new Sprite
|
||||
{
|
||||
Texture = Game.Textures.Get(@"KeyCounter/key-glow"),
|
||||
Anchor = Anchor.Centre,
|
||||
Origin = Anchor.Centre,
|
||||
Alpha = 0
|
||||
},
|
||||
textLayer = new Container
|
||||
{
|
||||
Anchor = Anchor.Centre,
|
||||
Origin = Anchor.Centre,
|
||||
Children = new Drawable[]
|
||||
{
|
||||
glowSprite = new Sprite
|
||||
keySpriteText = new SpriteText
|
||||
{
|
||||
Texture = Game.Textures.Get(@"KeyCounter/key-glow"),
|
||||
Text = Name,
|
||||
Anchor = Anchor.Centre,
|
||||
Origin = Anchor.Centre,
|
||||
Position = new Vector2(0, -buttonSprite.Height / 4),
|
||||
Colour = KeyUpTextColor
|
||||
},
|
||||
countSpriteText = new SpriteText
|
||||
{
|
||||
Text = Count.ToString(),
|
||||
Anchor = Anchor.Centre,
|
||||
Origin = Anchor.Centre,
|
||||
Position = new Vector2(0, buttonSprite.Height / 4),
|
||||
Colour = KeyUpTextColor
|
||||
}
|
||||
}
|
||||
},
|
||||
keySpriteText = new SpriteText
|
||||
{
|
||||
Text = Name,
|
||||
Anchor = Anchor.Centre,
|
||||
Origin = Anchor.Centre,
|
||||
Position = new Vector2(0, -buttonSprite.Height / 4),
|
||||
Colour = KeyUpTextColor
|
||||
},
|
||||
countSpriteText = new SpriteText
|
||||
{
|
||||
Text = Count.ToString(),
|
||||
Anchor = Anchor.Centre,
|
||||
Origin = Anchor.Centre,
|
||||
Position = new Vector2(0, buttonSprite.Height / 4),
|
||||
Colour = KeyUpTextColor
|
||||
}
|
||||
};
|
||||
glowSprite.Hide();
|
||||
//Set this manually because an element with Alpha=0 won't take it size to AutoSizeContainer,
|
||||
//so the size can be changing between buttonSpirit and glowSpirit.
|
||||
Height = buttonSprite.Height;
|
||||
Width = buttonSprite.Width;
|
||||
}
|
||||
|
||||
private void UpdateGlowSprite()
|
||||
@ -89,15 +99,13 @@ namespace osu.Game.Graphics.UserInterface
|
||||
//can have a FadeTime property or const
|
||||
if (IsLit)
|
||||
{
|
||||
glowSprite.Show();
|
||||
countSpriteText.FadeColour(KeyDownTextColor, 0);
|
||||
keySpriteText.FadeColour(KeyDownTextColor, 0);
|
||||
glowSprite.FadeIn();
|
||||
textLayer.FadeColour(KeyDownTextColor, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
glowSprite.Hide();
|
||||
countSpriteText.FadeColour(KeyUpTextColor, 0);
|
||||
keySpriteText.FadeColour(KeyUpTextColor, 0);
|
||||
glowSprite.FadeOut();
|
||||
textLayer.FadeColour(KeyUpTextColor, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user