1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-14 08:52:55 +08:00

Split out DefaultScoreCounter and make ScoreCounter abstract

This commit is contained in:
Dean Herbert 2020-10-15 16:31:21 +09:00
parent d5f2aab52e
commit 219cbec6bd
3 changed files with 36 additions and 8 deletions

View File

@ -16,7 +16,7 @@ namespace osu.Game.Tests.Visual.Gameplay
{
int numerator = 0, denominator = 0;
ScoreCounter score = new ScoreCounter(7)
ScoreCounter score = new DefaultScoreCounter()
{
Origin = Anchor.TopRight,
Anchor = Anchor.TopRight,

View File

@ -1,18 +1,21 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Game.Graphics.Sprites;
using osu.Game.Screens.Play.HUD;
namespace osu.Game.Graphics.UserInterface
{
public class ScoreCounter : RollingCounter<double>
public abstract class ScoreCounter : RollingCounter<double>, IScoreCounter
{
protected override double RollingDuration => 1000;
protected override Easing RollingEasing => Easing.Out;
public bool UseCommaSeparator;
/// <summary>
/// Whether comma separators should be displayed.
/// </summary>
public bool UseCommaSeparator { get; }
/// <summary>
/// How many leading zeroes the counter has.
@ -23,14 +26,13 @@ namespace osu.Game.Graphics.UserInterface
/// Displays score.
/// </summary>
/// <param name="leading">How many leading zeroes the counter will have.</param>
public ScoreCounter(uint leading = 0)
/// <param name="useCommaSeparator">Whether comma separators should be displayed.</param>
protected ScoreCounter(uint leading = 0, bool useCommaSeparator = false)
{
UseCommaSeparator = useCommaSeparator;
LeadingZeroes = leading;
}
[BackgroundDependencyLoader]
private void load(OsuColour colours) => Colour = colours.BlueLighter;
protected override double GetProportionalDuration(double currentValue, double newValue)
{
return currentValue > newValue ? currentValue - newValue : newValue - currentValue;

View File

@ -0,0 +1,26 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using osu.Framework.Allocation;
using osu.Framework.Graphics;
using osu.Game.Graphics;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Screens.Play.HUD
{
public class DefaultScoreCounter : ScoreCounter
{
public DefaultScoreCounter()
: base(6)
{
Anchor = Anchor.TopCentre;
Origin = Anchor.TopCentre;
}
[BackgroundDependencyLoader]
private void load(OsuColour colours)
{
Colour = colours.BlueLighter;
}
}
}