1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 15:57:24 +08:00

Add "Argon" performance points counter

This commit is contained in:
Salman Ahmed 2023-10-26 09:00:16 +03:00
parent daf4a03fd0
commit 56eeb117ce
2 changed files with 64 additions and 3 deletions

View File

@ -16,7 +16,6 @@ using osu.Game.Rulesets.Osu;
using osu.Game.Rulesets.Osu.Judgements;
using osu.Game.Rulesets.Scoring;
using osu.Game.Screens.Play;
using osu.Game.Screens.Play.HUD;
using osuTK;
namespace osu.Game.Tests.Visual.Gameplay
@ -30,7 +29,7 @@ namespace osu.Game.Tests.Visual.Gameplay
private int iteration;
private Bindable<JudgementResult> lastJudgementResult = new Bindable<JudgementResult>();
private PerformancePointsCounter counter;
private ArgonPerformancePointsCounter counter;
[SetUpSteps]
public void SetUpSteps() => AddStep("create components", () =>
@ -66,7 +65,7 @@ namespace osu.Game.Tests.Visual.Gameplay
private void createCounter() => AddStep("Create counter", () =>
{
dependencyContainer.Child = counter = new PerformancePointsCounter
dependencyContainer.Child = counter = new ArgonPerformancePointsCounter
{
Anchor = Anchor.Centre,
Origin = Anchor.Centre,

View File

@ -0,0 +1,62 @@
// 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.Extensions.LocalisationExtensions;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Localisation;
using osu.Game.Graphics;
using osu.Game.Graphics.Sprites;
using osu.Game.Resources.Localisation.Web;
using osu.Game.Screens.Play.HUD;
using osu.Game.Skinning;
namespace osu.Game.Screens.Play
{
public partial class ArgonPerformancePointsCounter : GameplayPerformancePointsCounter, ISerialisableDrawable
{
public bool UsesFixedAnchor { get; set; }
[BackgroundDependencyLoader]
private void load()
{
}
protected override IHasText CreateText() => new TextComponent();
private partial class TextComponent : CompositeDrawable, IHasText
{
private readonly OsuSpriteText text;
public LocalisableString Text
{
get => text.Text;
set => text.Text = value;
}
public TextComponent()
{
AutoSizeAxes = Axes.Both;
InternalChild = new FillFlowContainer
{
Direction = FillDirection.Vertical,
Children = new[]
{
new OsuSpriteText
{
Text = BeatmapsetsStrings.ShowScoreboardHeaderspp.ToUpper(),
Font = OsuFont.Torus.With(size: 12, weight: FontWeight.Bold),
},
text = new OsuSpriteText
{
Font = OsuFont.Torus.With(size: 16.8f, weight: FontWeight.Regular),
}
}
};
}
}
}
}