mirror of
https://github.com/ppy/osu.git
synced 2024-12-17 05:22:54 +08:00
Fix mod icons potentially showing incorrectly at daily challenge intro
Prefer using the beatmap's rulesets over the current user selection. Closes https://github.com/ppy/osu/issues/29559.
This commit is contained in:
parent
502192ff6f
commit
7f5f3a4589
@ -93,14 +93,15 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge
|
||||
protected override BackgroundScreen CreateBackground() => new DailyChallengeIntroBackgroundScreen(colourProvider);
|
||||
|
||||
[BackgroundDependencyLoader]
|
||||
private void load(BeatmapDifficultyCache difficultyCache, BeatmapModelDownloader beatmapDownloader, OsuConfigManager config, AudioManager audio)
|
||||
private void load(RulesetStore rulesets, BeatmapDifficultyCache difficultyCache, BeatmapModelDownloader beatmapDownloader, OsuConfigManager config, AudioManager audio)
|
||||
{
|
||||
const float horizontal_info_size = 500f;
|
||||
|
||||
Ruleset ruleset = Ruleset.Value.CreateInstance();
|
||||
|
||||
StarRatingDisplay starRatingDisplay;
|
||||
|
||||
IBeatmapInfo beatmap = item.Beatmap;
|
||||
Ruleset ruleset = rulesets.GetRuleset(item.Beatmap.Ruleset.ShortName)?.CreateInstance() ?? Ruleset.Value.CreateInstance();
|
||||
|
||||
InternalChildren = new Drawable[]
|
||||
{
|
||||
beatmapAvailabilityTracker,
|
||||
@ -242,13 +243,13 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge
|
||||
Origin = Anchor.TopCentre,
|
||||
Shear = new Vector2(-OsuGame.SHEAR, 0f),
|
||||
MaxWidth = horizontal_info_size,
|
||||
Text = item.Beatmap.BeatmapSet!.Metadata.GetDisplayTitleRomanisable(false),
|
||||
Text = beatmap.BeatmapSet!.Metadata.GetDisplayTitleRomanisable(false),
|
||||
Padding = new MarginPadding { Horizontal = 5f },
|
||||
Font = OsuFont.GetFont(size: 26),
|
||||
},
|
||||
new TruncatingSpriteText
|
||||
{
|
||||
Text = $"Difficulty: {item.Beatmap.DifficultyName}",
|
||||
Text = $"Difficulty: {beatmap.DifficultyName}",
|
||||
Font = OsuFont.GetFont(size: 20, italics: true),
|
||||
MaxWidth = horizontal_info_size,
|
||||
Shear = new Vector2(-OsuGame.SHEAR, 0f),
|
||||
@ -257,7 +258,7 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge
|
||||
},
|
||||
new TruncatingSpriteText
|
||||
{
|
||||
Text = $"by {item.Beatmap.Metadata.Author.Username}",
|
||||
Text = $"by {beatmap.Metadata.Author.Username}",
|
||||
Font = OsuFont.GetFont(size: 16, italics: true),
|
||||
MaxWidth = horizontal_info_size,
|
||||
Shear = new Vector2(-OsuGame.SHEAR, 0f),
|
||||
@ -309,14 +310,14 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge
|
||||
}
|
||||
};
|
||||
|
||||
starDifficulty = difficultyCache.GetBindableDifficulty(item.Beatmap);
|
||||
starDifficulty = difficultyCache.GetBindableDifficulty(beatmap);
|
||||
starDifficulty.BindValueChanged(star =>
|
||||
{
|
||||
if (star.NewValue != null)
|
||||
starRatingDisplay.Current.Value = star.NewValue.Value;
|
||||
}, true);
|
||||
|
||||
LoadComponentAsync(new OnlineBeatmapSetCover(item.Beatmap.BeatmapSet as IBeatmapSetOnlineInfo)
|
||||
LoadComponentAsync(new OnlineBeatmapSetCover(beatmap.BeatmapSet as IBeatmapSetOnlineInfo)
|
||||
{
|
||||
RelativeSizeAxes = Axes.Both,
|
||||
Anchor = Anchor.Centre,
|
||||
@ -334,8 +335,8 @@ namespace osu.Game.Screens.OnlinePlay.DailyChallenge
|
||||
|
||||
if (config.Get<bool>(OsuSetting.AutomaticallyDownloadMissingBeatmaps))
|
||||
{
|
||||
if (!beatmapManager.IsAvailableLocally(new BeatmapSetInfo { OnlineID = item.Beatmap.BeatmapSet!.OnlineID }))
|
||||
beatmapDownloader.Download(item.Beatmap.BeatmapSet!, config.Get<bool>(OsuSetting.PreferNoVideo));
|
||||
if (!beatmapManager.IsAvailableLocally(new BeatmapSetInfo { OnlineID = beatmap.BeatmapSet!.OnlineID }))
|
||||
beatmapDownloader.Download(beatmap.BeatmapSet!, config.Get<bool>(OsuSetting.PreferNoVideo));
|
||||
}
|
||||
|
||||
dateWindupSample = audio.Samples.Get(@"DailyChallenge/date-windup");
|
||||
|
Loading…
Reference in New Issue
Block a user