1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-05 10:53:10 +08:00

Pass ruleset info to constructor instead

Follows the way working beatmap is passed, not sure why mods are passed as a bindable though, don't wanna bother too much with that.
This commit is contained in:
Salman Ahmed 2021-05-08 11:57:12 +03:00
parent 169a283402
commit b4801faf32
3 changed files with 6 additions and 7 deletions

View File

@ -32,7 +32,7 @@ namespace osu.Game.Tests.Visual.SongSelect
private void createDisplay(Func<WorkingBeatmap> getBeatmap) private void createDisplay(Func<WorkingBeatmap> getBeatmap)
{ {
AddStep("setup display", () => Child = display = new BeatmapMetadataDisplay(getBeatmap(), new Bindable<IReadOnlyList<Mod>>(randomMods), null) AddStep("setup display", () => Child = display = new BeatmapMetadataDisplay(getBeatmap(), Ruleset.Value, new Bindable<IReadOnlyList<Mod>>(randomMods), null)
{ {
Anchor = Anchor.Centre, Anchor = Anchor.Centre,
Origin = Anchor.Centre, Origin = Anchor.Centre,

View File

@ -27,15 +27,13 @@ namespace osu.Game.Screens.Play
public class BeatmapMetadataDisplay : Container public class BeatmapMetadataDisplay : Container
{ {
private readonly WorkingBeatmap beatmap; private readonly WorkingBeatmap beatmap;
private readonly RulesetInfo ruleset;
private readonly Bindable<IReadOnlyList<Mod>> mods; private readonly Bindable<IReadOnlyList<Mod>> mods;
private readonly Drawable logoFacade; private readonly Drawable logoFacade;
private LoadingSpinner loading; private LoadingSpinner loading;
public IBindable<IReadOnlyList<Mod>> Mods => mods; public IBindable<IReadOnlyList<Mod>> Mods => mods;
[Resolved]
private IBindable<RulesetInfo> ruleset { get; set; }
public bool Loading public bool Loading
{ {
set set
@ -47,9 +45,10 @@ namespace osu.Game.Screens.Play
} }
} }
public BeatmapMetadataDisplay(WorkingBeatmap beatmap, Bindable<IReadOnlyList<Mod>> mods, [CanBeNull] Drawable logoFacade) public BeatmapMetadataDisplay(WorkingBeatmap beatmap, RulesetInfo ruleset, Bindable<IReadOnlyList<Mod>> mods, [CanBeNull] Drawable logoFacade)
{ {
this.beatmap = beatmap; this.beatmap = beatmap;
this.ruleset = ruleset;
this.logoFacade = logoFacade; this.logoFacade = logoFacade;
this.mods = new Bindable<IReadOnlyList<Mod>>(); this.mods = new Bindable<IReadOnlyList<Mod>>();
@ -61,7 +60,7 @@ namespace osu.Game.Screens.Play
{ {
var metadata = beatmap.BeatmapInfo?.Metadata ?? new BeatmapMetadata(); var metadata = beatmap.BeatmapInfo?.Metadata ?? new BeatmapMetadata();
var starDifficulty = difficultyCache.GetDifficultyAsync(beatmap.BeatmapInfo, ruleset.Value, mods.Value).Result; var starDifficulty = difficultyCache.GetDifficultyAsync(beatmap.BeatmapInfo, ruleset, mods.Value).Result;
AutoSizeAxes = Axes.Both; AutoSizeAxes = Axes.Both;
Children = new Drawable[] Children = new Drawable[]

View File

@ -134,7 +134,7 @@ namespace osu.Game.Screens.Play
RelativeSizeAxes = Axes.Both, RelativeSizeAxes = Axes.Both,
}).WithChildren(new Drawable[] }).WithChildren(new Drawable[]
{ {
MetadataInfo = new BeatmapMetadataDisplay(Beatmap.Value, Mods, content.LogoFacade) MetadataInfo = new BeatmapMetadataDisplay(Beatmap.Value, Ruleset.Value, Mods, content.LogoFacade)
{ {
Alpha = 0, Alpha = 0,
Anchor = Anchor.Centre, Anchor = Anchor.Centre,