mirror of
https://github.com/ppy/osu.git
synced 2024-12-15 07:32:55 +08:00
Fix UpdateableBeatmapBackgroundSprite displaying extra backgrounds (#4847)
Fix UpdateableBeatmapBackgroundSprite displaying extra backgrounds Co-authored-by: Dean Herbert <pe@ppy.sh>
This commit is contained in:
commit
ffc7e32c26
@ -32,6 +32,7 @@ namespace osu.Game.Beatmaps.Drawables
|
||||
protected virtual double UnloadDelay => 10000;
|
||||
|
||||
private BeatmapInfo lastModel;
|
||||
private bool firstLoad = true;
|
||||
|
||||
protected override DelayedLoadWrapper CreateDelayedLoadWrapper(Drawable content, double timeBeforeLoad)
|
||||
{
|
||||
@ -39,11 +40,12 @@ namespace osu.Game.Beatmaps.Drawables
|
||||
{
|
||||
// If DelayedLoadUnloadWrapper is attempting to RELOAD the same content (Beatmap), that means that it was
|
||||
// previously UNLOADED and thus its children have been disposed of, so we need to recreate them here.
|
||||
if (lastModel == Beatmap.Value)
|
||||
if (!firstLoad && lastModel == Beatmap.Value)
|
||||
return CreateDrawable(Beatmap.Value);
|
||||
|
||||
// If the model has changed since the previous unload (or if there was no load), then we can safely use the given content
|
||||
lastModel = Beatmap.Value;
|
||||
firstLoad = false;
|
||||
return content;
|
||||
}, timeBeforeLoad, UnloadDelay);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user