mirror of
https://github.com/ppy/osu.git
synced 2024-11-13 17:27:48 +08:00
Update visuals of spinner implementations to show MAX score differently
This commit is contained in:
parent
181a98e8ef
commit
ca3a3f600e
@ -85,11 +85,25 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon
|
||||
base.LoadComplete();
|
||||
|
||||
completedSpins = drawableSpinner.CompletedFullSpins.GetBoundCopy();
|
||||
completedSpins.BindValueChanged(bonus =>
|
||||
completedSpins.BindValueChanged(_ =>
|
||||
{
|
||||
bonusCounter.Text = drawableSpinner.CurrentBonusScore.ToString(NumberFormatInfo.InvariantInfo);
|
||||
bonusCounter.FadeOutFromOne(1500);
|
||||
bonusCounter.ScaleTo(1.5f).Then().ScaleTo(1f, 1000, Easing.OutQuint);
|
||||
if (drawableSpinner.CurrentBonusScore <= 0)
|
||||
return;
|
||||
|
||||
if (drawableSpinner.CurrentBonusScore == drawableSpinner.MaximumBonusScore)
|
||||
{
|
||||
bonusCounter.Text = "MAX";
|
||||
bonusCounter.ScaleTo(1.5f).Then().ScaleTo(2.8f, 1000, Easing.OutQuint);
|
||||
|
||||
bonusCounter.FlashColour(Colour4.FromHex("FC618F"), 400);
|
||||
bonusCounter.FadeOutFromOne(500);
|
||||
}
|
||||
else
|
||||
{
|
||||
bonusCounter.Text = drawableSpinner.CurrentBonusScore.ToString(NumberFormatInfo.InvariantInfo);
|
||||
bonusCounter.ScaleTo(1.5f).Then().ScaleTo(1f, 1000, Easing.OutQuint);
|
||||
bonusCounter.FadeOutFromOne(1500);
|
||||
}
|
||||
});
|
||||
|
||||
spinsPerMinute = drawableSpinner.SpinsPerMinute.GetBoundCopy();
|
||||
|
@ -24,6 +24,9 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default
|
||||
private Container spmContainer = null!;
|
||||
private OsuSpriteText spmCounter = null!;
|
||||
|
||||
[Resolved]
|
||||
private OsuColour colours { get; set; } = null!;
|
||||
|
||||
public DefaultSpinner()
|
||||
{
|
||||
RelativeSizeAxes = Axes.Both;
|
||||
@ -90,9 +93,23 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default
|
||||
completedSpins = drawableSpinner.CompletedFullSpins.GetBoundCopy();
|
||||
completedSpins.BindValueChanged(bonus =>
|
||||
{
|
||||
bonusCounter.Text = drawableSpinner.CurrentBonusScore.ToString(NumberFormatInfo.InvariantInfo);
|
||||
bonusCounter.FadeOutFromOne(1500);
|
||||
bonusCounter.ScaleTo(1.5f).Then().ScaleTo(1f, 1000, Easing.OutQuint);
|
||||
if (drawableSpinner.CurrentBonusScore <= 0)
|
||||
return;
|
||||
|
||||
if (drawableSpinner.CurrentBonusScore == drawableSpinner.MaximumBonusScore)
|
||||
{
|
||||
bonusCounter.Text = "MAX";
|
||||
bonusCounter.ScaleTo(1.5f).Then().ScaleTo(2.8f, 1000, Easing.OutQuint);
|
||||
|
||||
bonusCounter.FlashColour(colours.YellowLight, 400);
|
||||
bonusCounter.FadeOutFromOne(500);
|
||||
}
|
||||
else
|
||||
{
|
||||
bonusCounter.Text = drawableSpinner.CurrentBonusScore.ToString(NumberFormatInfo.InvariantInfo);
|
||||
bonusCounter.FadeOutFromOne(1500);
|
||||
bonusCounter.ScaleTo(1.5f).Then().ScaleTo(1f, 1000, Easing.OutQuint);
|
||||
}
|
||||
});
|
||||
|
||||
spinsPerMinute = drawableSpinner.SpinsPerMinute.GetBoundCopy();
|
||||
|
@ -119,9 +119,21 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy
|
||||
completedSpins = DrawableSpinner.CompletedFullSpins.GetBoundCopy();
|
||||
completedSpins.BindValueChanged(bonus =>
|
||||
{
|
||||
if (DrawableSpinner.CurrentBonusScore <= 0)
|
||||
return;
|
||||
|
||||
bonusCounter.Text = DrawableSpinner.CurrentBonusScore.ToString(NumberFormatInfo.InvariantInfo);
|
||||
bonusCounter.FadeOutFromOne(800, Easing.Out);
|
||||
bonusCounter.ScaleTo(SPRITE_SCALE * 2f).Then().ScaleTo(SPRITE_SCALE * 1.28f, 800, Easing.Out);
|
||||
|
||||
if (DrawableSpinner.CurrentBonusScore == DrawableSpinner.MaximumBonusScore)
|
||||
{
|
||||
bonusCounter.ScaleTo(1.4f).Then().ScaleTo(1.8f, 1000, Easing.Out);
|
||||
bonusCounter.FadeOutFromOne(500, Easing.Out);
|
||||
}
|
||||
else
|
||||
{
|
||||
bonusCounter.FadeOutFromOne(800, Easing.Out);
|
||||
bonusCounter.ScaleTo(SPRITE_SCALE * 2f).Then().ScaleTo(SPRITE_SCALE * 1.28f, 800, Easing.Out);
|
||||
}
|
||||
});
|
||||
|
||||
spinsPerMinute = DrawableSpinner.SpinsPerMinute.GetBoundCopy();
|
||||
|
Loading…
Reference in New Issue
Block a user