mirror of https://github.com/ppy/osu
Refactor UpdateableBeatmapBackground lookup logic for clarity
Closes #4401. Alternative to #4439.
This commit is contained in:
parent
7805b95a1e
commit
59897bbeb5
|
@ -45,24 +45,7 @@ protected override DelayedLoadWrapper CreateDelayedLoadWrapper(Drawable content,
|
||||||
|
|
||||||
protected override Drawable CreateDrawable(BeatmapInfo model)
|
protected override Drawable CreateDrawable(BeatmapInfo model)
|
||||||
{
|
{
|
||||||
Drawable drawable;
|
Drawable drawable = getDrawableForModel(model);
|
||||||
|
|
||||||
var localBeatmap = beatmaps.GetWorkingBeatmap(model);
|
|
||||||
|
|
||||||
if (model?.BeatmapSet?.OnlineInfo != null)
|
|
||||||
{
|
|
||||||
drawable = new BeatmapSetCover(model.BeatmapSet, beatmapSetCoverType);
|
|
||||||
}
|
|
||||||
else if (localBeatmap.BeatmapInfo.ID != 0)
|
|
||||||
{
|
|
||||||
// Fall back to local background if one exists
|
|
||||||
drawable = new BeatmapBackgroundSprite(localBeatmap);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Use the default background if somehow an online set does not exist and we don't have a local copy.
|
|
||||||
drawable = new BeatmapBackgroundSprite(beatmaps.DefaultBeatmap);
|
|
||||||
}
|
|
||||||
|
|
||||||
drawable.RelativeSizeAxes = Axes.Both;
|
drawable.RelativeSizeAxes = Axes.Both;
|
||||||
drawable.Anchor = Anchor.Centre;
|
drawable.Anchor = Anchor.Centre;
|
||||||
|
@ -72,5 +55,16 @@ protected override Drawable CreateDrawable(BeatmapInfo model)
|
||||||
|
|
||||||
return drawable;
|
return drawable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Drawable getDrawableForModel(BeatmapInfo model)
|
||||||
|
{
|
||||||
|
// prefer online cover where available.
|
||||||
|
if (model?.BeatmapSet?.OnlineInfo != null)
|
||||||
|
return new BeatmapSetCover(model.BeatmapSet, beatmapSetCoverType);
|
||||||
|
|
||||||
|
return model?.ID > 0
|
||||||
|
? new BeatmapBackgroundSprite(beatmaps.GetWorkingBeatmap(model))
|
||||||
|
: new BeatmapBackgroundSprite(beatmaps.DefaultBeatmap);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue