Compare commits
2 Commits
547d22a4b5
...
2025.1213.
| Author | SHA1 | Date | |
|---|---|---|---|
| b6f845d99c | |||
| a1d6bda63e |
@@ -124,10 +124,10 @@ namespace osu.Game.Graphics.Backgrounds
|
||||
api.PerformAsync(request);
|
||||
}
|
||||
|
||||
public SeasonalBackground LoadNextBackground()
|
||||
public Background LoadNextBackground()
|
||||
{
|
||||
if (!shouldShowCustomBackgrounds || !shouldFetchCustomBackgrounds || currentBackgrounds.Value?.Backgrounds?.Any() != true)
|
||||
return (SeasonalBackground)(new Background($@"Menu/menu-background-{RNG.Next(1, 9)}"));
|
||||
return new Background($@"Menu/menu-background-{RNG.Next(1, 9)}");
|
||||
|
||||
var backgrounds = currentBackgrounds.Value.Backgrounds;
|
||||
currentBackgroundIndex = (currentBackgroundIndex + 1) % backgrounds.Count;
|
||||
|
||||
@@ -159,8 +159,9 @@ namespace osu.Game.Rulesets.UI
|
||||
Origin = Anchor.Centre,
|
||||
Anchor = Anchor.Centre,
|
||||
Alpha = 0,
|
||||
Font = OsuFont.Numeric.With(size: 22f, weight: FontWeight.Black),
|
||||
UseFullGlyphHeight = false,
|
||||
Font = OsuFont.TorusAlternate.With(size: 36, weight: FontWeight.SemiBold),
|
||||
Margin = new MarginPadding { Bottom = 5 },
|
||||
UseFullGlyphHeight = true,
|
||||
Text = mod.Acronym
|
||||
},
|
||||
modIcon = new SpriteIcon
|
||||
|
||||
@@ -91,11 +91,12 @@ namespace osu.Game.Rulesets.UI
|
||||
Anchor = Anchor.Centre,
|
||||
Origin = Anchor.Centre,
|
||||
Shadow = false,
|
||||
Font = OsuFont.Numeric.With(size: 24, weight: FontWeight.Black),
|
||||
Font = OsuFont.TorusAlternate.With(size: 36, weight: FontWeight.Bold),
|
||||
Text = mod.Acronym,
|
||||
Margin = new MarginPadding
|
||||
{
|
||||
Top = 4
|
||||
Top = 3,
|
||||
Bottom = 6
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
@@ -121,7 +121,7 @@ namespace osu.Game.Screens.Play
|
||||
},
|
||||
},
|
||||
|
||||
// XXX: I have mixed feeling about this, but it works at least
|
||||
// XXX: I have mixed feelings about this, but it works at least
|
||||
(OnQuitReplay != null)
|
||||
? new ShearedButton
|
||||
{
|
||||
|
||||
@@ -122,9 +122,9 @@ namespace osu.Game.Screens.Ranking.Expanded
|
||||
FillMode = FillMode.Fit,
|
||||
}
|
||||
},
|
||||
scoreCounter = new TotalScoreCounter(!withFlair)
|
||||
scoreCounter = new TotalScoreCounter(!withFlair, score)
|
||||
{
|
||||
Margin = new MarginPadding { Top = 0, Bottom = 5 },
|
||||
Margin = new MarginPadding { Top = 10, Bottom = 5 },
|
||||
Current = { Value = 0 },
|
||||
Alpha = 0,
|
||||
AlwaysPresent = true
|
||||
|
||||
@@ -1,17 +1,23 @@
|
||||
// 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.
|
||||
|
||||
#nullable disable
|
||||
#nullable enable
|
||||
|
||||
using System.Globalization;
|
||||
using osu.Framework.Allocation;
|
||||
using osu.Framework.Audio;
|
||||
using osu.Framework.Bindables;
|
||||
using osu.Framework.Graphics;
|
||||
using osu.Framework.Graphics.Audio;
|
||||
using osu.Framework.Localisation;
|
||||
using osu.Game.Configuration;
|
||||
using osu.Game.Graphics;
|
||||
using osu.Game.Graphics.Sprites;
|
||||
using osu.Game.Graphics.UserInterface;
|
||||
using osu.Game.Rulesets.Scoring;
|
||||
using osu.Game.Scoring;
|
||||
using osu.Game.Scoring.Legacy;
|
||||
using osu.Game.Screens.Play.HUD;
|
||||
using osu.Game.Screens.Ranking.Expanded.Accuracy;
|
||||
using osuTK;
|
||||
|
||||
@@ -30,43 +36,65 @@ namespace osu.Game.Screens.Ranking.Expanded
|
||||
|
||||
private readonly Bindable<double> tickPlaybackRate = new Bindable<double>();
|
||||
|
||||
private ScoreInfo score;
|
||||
private Bindable<ScoringMode> scoringMode = new Bindable<ScoringMode>(ScoringMode.Standardised);
|
||||
private ScoringMode mode => scoringMode.Value;
|
||||
|
||||
private double lastSampleTime;
|
||||
|
||||
private DrawableSample sampleTick;
|
||||
private DrawableSample sampleTick = null!;
|
||||
private ArgonCounterTextComponent counter = null!;
|
||||
|
||||
public TotalScoreCounter(bool playSamples = false)
|
||||
public TotalScoreCounter(bool playSamples = false, ScoreInfo? score = null)
|
||||
{
|
||||
// Todo: AutoSize X removed here due to https://github.com/ppy/osu-framework/issues/3369
|
||||
AutoSizeAxes = Axes.Y;
|
||||
RelativeSizeAxes = Axes.X;
|
||||
|
||||
this.playSamples = playSamples;
|
||||
this.score = score ?? new ScoreInfo();
|
||||
}
|
||||
|
||||
[BackgroundDependencyLoader]
|
||||
private void load(AudioManager audio)
|
||||
private void load(AudioManager audio, OsuConfigManager? config)
|
||||
{
|
||||
AddInternal(sampleTick = new DrawableSample(audio.Samples.Get(@"Results/score-tick-lesser")));
|
||||
scoringMode.BindTo(
|
||||
config?.GetBindable<ScoringMode>(OsuSetting.ScoreDisplayMode)
|
||||
);
|
||||
}
|
||||
|
||||
protected override void LoadComplete()
|
||||
{
|
||||
base.LoadComplete();
|
||||
|
||||
scoringMode.BindValueChanged(_ => updateWireframe(), true);
|
||||
|
||||
|
||||
if (playSamples)
|
||||
Current.BindValueChanged(_ => startTicking());
|
||||
}
|
||||
|
||||
protected override LocalisableString FormatCount(long count) => count.ToString("N0");
|
||||
protected override LocalisableString FormatCount(long count) => count.ToString("N0", CultureInfo.CreateSpecificCulture("en-US")).Replace(',', '.'); // XXX: make this look okay
|
||||
|
||||
protected override OsuSpriteText CreateSpriteText() => base.CreateSpriteText().With(s =>
|
||||
private void updateWireframe()
|
||||
{
|
||||
s.Anchor = Anchor.TopCentre;
|
||||
s.Origin = Anchor.TopCentre;
|
||||
string getWireframe(long sc) => (sc >= 100000)
|
||||
? FormatCount(sc).ToString()
|
||||
: "###.###";
|
||||
|
||||
s.Font = OsuFont.Torus.With(size: 60, weight: FontWeight.Light, fixedWidth: true);
|
||||
s.Spacing = new Vector2(-5, 0);
|
||||
});
|
||||
long dispScore = Scoring.Legacy.ScoreInfoExtensions.GetDisplayScore(score, mode);
|
||||
counter.WireframeTemplate = getWireframe(dispScore);
|
||||
}
|
||||
|
||||
protected override ArgonCounterTextComponent CreateText()
|
||||
{
|
||||
counter = new ArgonCounterTextComponent(Anchor.Centre);
|
||||
counter.WireframeOpacity.BindTo(new BindableFloat(0.25f));
|
||||
counter.WireframeTemplate = "###.###";
|
||||
|
||||
return counter;
|
||||
}
|
||||
|
||||
public override long DisplayedCount
|
||||
{
|
||||
|
||||
@@ -270,7 +270,7 @@ namespace osu.Game.Screens.Select
|
||||
TextSize = 11,
|
||||
TextPadding = new MarginPadding { Horizontal = 8, Vertical = 2 },
|
||||
Status = beatmapInfo.Status,
|
||||
ShowUnknownStatus = true,
|
||||
ShowUnknownStatus = working is not DummyWorkingBeatmap,
|
||||
Alpha = string.IsNullOrEmpty(beatmapInfo.DifficultyName) ? 0 : 1
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ namespace osu.Game.Screens.SelectV2
|
||||
new ShearAligningWrapper(statusPill = new BeatmapSetOnlineStatusPill
|
||||
{
|
||||
Shear = -OsuGame.SHEAR,
|
||||
ShowUnknownStatus = true,
|
||||
ShowUnknownStatus = working is not DummyWorkingBeatmap,
|
||||
TextSize = OsuFont.Style.Caption1.Size,
|
||||
TextPadding = new MarginPadding { Horizontal = 6, Vertical = 1 },
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user