1
0
mirror of https://github.com/ppy/osu.git synced 2026-06-03 18:44:15 +08:00

Require high enough score rank for tagging beatmap

This commit is contained in:
Bartłomiej Dach
2025-03-13 10:13:22 +01:00
Unverified
parent f78e371b1b
commit 5b1a4c8ed1
2 changed files with 44 additions and 5 deletions
@@ -219,6 +219,28 @@ namespace osu.Game.Tests.Visual.Ranking
});
}
[Test]
public void TestTaggingWhenRankTooLow()
{
var score = TestResources.CreateTestScoreInfo();
score.Rank = ScoreRank.D;
AddStep("load panel", () =>
{
Child = new PopoverContainer
{
RelativeSizeAxes = Axes.Both,
Child = new StatisticsPanel
{
RelativeSizeAxes = Axes.Both,
State = { Value = Visibility.Visible },
Score = { Value = score },
AchievedScore = score,
}
};
});
}
private void loadPanel(ScoreInfo score) => AddStep("load panel", () =>
{
Child = new StatisticsPanel
@@ -14,6 +14,7 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Input.Events;
using osu.Game.Beatmaps;
using osu.Game.Graphics;
using osu.Game.Graphics.Containers;
using osu.Game.Graphics.UserInterface;
using osu.Game.Online.API;
@@ -234,12 +235,28 @@ namespace osu.Game.Screens.Ranking.Statistics
&& newScore.BeatmapInfo!.OnlineID > 0
&& api.IsLoggedIn)
{
yield return new StatisticItem("Tag the beatmap!", () => new UserTagControl(newScore.BeatmapInfo)
if (
// We may want to iterate on this condition
AchievedScore.Rank >= ScoreRank.C
)
{
RelativeSizeAxes = Axes.X,
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
});
yield return new StatisticItem("Tag the beatmap!", () => new UserTagControl(newScore.BeatmapInfo)
{
RelativeSizeAxes = Axes.X,
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
});
}
else
{
yield return new StatisticItem("Tag the beatmap!", () => new OsuTextFlowContainer(cp => cp.Font = OsuFont.GetFont(size: StatisticItem.FONT_SIZE, weight: FontWeight.SemiBold))
{
RelativeSizeAxes = Axes.X,
AutoSizeAxes = Axes.Y,
TextAnchor = Anchor.Centre,
Text = "Set a better score to contribute to beatmap tags!",
});
}
}
}