mirror of
https://github.com/ppy/osu.git
synced 2025-03-22 21:00:33 +08:00
Merge pull request #27517 from Joehuu/fix-failed-s-accuracy-circle
Fix results screen accuracy circle not showing correctly for failed S with no flair
This commit is contained in:
commit
74e3c47c2f
@ -88,8 +88,20 @@ namespace osu.Game.Tests.Visual.Ranking
|
||||
AddAssert("play time not displayed", () => !this.ChildrenOfType<ExpandedPanelMiddleContent.PlayedOnText>().Any());
|
||||
}
|
||||
|
||||
private void showPanel(ScoreInfo score) =>
|
||||
Child = new ExpandedPanelMiddleContentContainer(score);
|
||||
[Test]
|
||||
public void TestFailedSDisplay([Values] bool withFlair)
|
||||
{
|
||||
AddStep("show failed S score", () =>
|
||||
{
|
||||
var score = TestResources.CreateTestScoreInfo(createTestBeatmap(new RealmUser()));
|
||||
score.Rank = ScoreRank.A;
|
||||
score.Accuracy = 0.975;
|
||||
showPanel(score, withFlair);
|
||||
});
|
||||
}
|
||||
|
||||
private void showPanel(ScoreInfo score, bool withFlair = false) =>
|
||||
Child = new ExpandedPanelMiddleContentContainer(score, withFlair);
|
||||
|
||||
private BeatmapInfo createTestBeatmap([NotNull] RealmUser author)
|
||||
{
|
||||
@ -107,7 +119,7 @@ namespace osu.Game.Tests.Visual.Ranking
|
||||
|
||||
private partial class ExpandedPanelMiddleContentContainer : Container
|
||||
{
|
||||
public ExpandedPanelMiddleContentContainer(ScoreInfo score)
|
||||
public ExpandedPanelMiddleContentContainer(ScoreInfo score, bool withFlair)
|
||||
{
|
||||
Anchor = Anchor.Centre;
|
||||
Origin = Anchor.Centre;
|
||||
@ -119,7 +131,7 @@ namespace osu.Game.Tests.Visual.Ranking
|
||||
RelativeSizeAxes = Axes.Both,
|
||||
Colour = Color4Extensions.FromHex("#444"),
|
||||
},
|
||||
new ExpandedPanelMiddleContent(score)
|
||||
new ExpandedPanelMiddleContent(score, withFlair)
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -194,11 +194,11 @@ namespace osu.Game.Screens.Ranking.Expanded.Accuracy
|
||||
rankText = new RankText(score.Rank)
|
||||
};
|
||||
|
||||
if (isFailedSDueToMisses)
|
||||
AddInternal(failedSRankText = new RankText(ScoreRank.S));
|
||||
|
||||
if (withFlair)
|
||||
{
|
||||
if (isFailedSDueToMisses)
|
||||
AddInternal(failedSRankText = new RankText(ScoreRank.S));
|
||||
|
||||
var applauseSamples = new List<string> { applauseSampleName };
|
||||
if (score.Rank >= ScoreRank.B)
|
||||
// when rank is B or higher, play legacy applause sample on legacy skins.
|
||||
@ -326,24 +326,25 @@ namespace osu.Game.Screens.Ranking.Expanded.Accuracy
|
||||
{
|
||||
rankText.Appear();
|
||||
|
||||
if (!withFlair) return;
|
||||
|
||||
Schedule(() =>
|
||||
{
|
||||
isTicking = false;
|
||||
rankImpactSound.Play();
|
||||
});
|
||||
|
||||
const double applause_pre_delay = 545f;
|
||||
const double applause_volume = 0.8f;
|
||||
|
||||
using (BeginDelayedSequence(applause_pre_delay))
|
||||
if (withFlair)
|
||||
{
|
||||
Schedule(() =>
|
||||
{
|
||||
rankApplauseSound.VolumeTo(applause_volume);
|
||||
rankApplauseSound.Play();
|
||||
isTicking = false;
|
||||
rankImpactSound.Play();
|
||||
});
|
||||
|
||||
const double applause_pre_delay = 545f;
|
||||
const double applause_volume = 0.8f;
|
||||
|
||||
using (BeginDelayedSequence(applause_pre_delay))
|
||||
{
|
||||
Schedule(() =>
|
||||
{
|
||||
rankApplauseSound.VolumeTo(applause_volume);
|
||||
rankApplauseSound.Play();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user