mirror of
https://github.com/ppy/osu
synced 2025-02-11 15:47:34 +00:00
Fix backgrounds not correctly handling initial async load
This commit is contained in:
parent
81d9e391f4
commit
e9ab329e93
@ -36,9 +36,11 @@ namespace osu.Game.Screens.Backgrounds
|
||||
|
||||
beatmap = value;
|
||||
|
||||
Schedule(() =>
|
||||
{
|
||||
LoadComponentAsync(new BeatmapBackground(beatmap), b => Schedule(() =>
|
||||
Schedule(() => { LoadComponentAsync(new BeatmapBackground(beatmap), b => Schedule(() => backgroundLoaded(b))); });
|
||||
}
|
||||
}
|
||||
|
||||
private void backgroundLoaded(BeatmapBackground b)
|
||||
{
|
||||
float newDepth = 0;
|
||||
if (Background != null)
|
||||
@ -53,9 +55,13 @@ namespace osu.Game.Screens.Backgrounds
|
||||
fadeContainer.Add(Background = b);
|
||||
Background.BlurSigma = BlurTarget;
|
||||
StoryboardReplacesBackground.BindTo(fadeContainer.StoryboardReplacesBackground);
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
[BackgroundDependencyLoader]
|
||||
private void load()
|
||||
{
|
||||
if (beatmap != null)
|
||||
backgroundLoaded(new BeatmapBackground(beatmap));
|
||||
}
|
||||
|
||||
public BackgroundScreenBeatmap(WorkingBeatmap beatmap = null)
|
||||
|
@ -34,7 +34,7 @@ namespace osu.Game.Screens.Backgrounds
|
||||
|
||||
currentDisplay = RNG.Next(0, background_count);
|
||||
|
||||
Next();
|
||||
display(createBackground());
|
||||
}
|
||||
|
||||
private void display(Background newBackground)
|
||||
@ -51,7 +51,10 @@ namespace osu.Game.Screens.Backgrounds
|
||||
public void Next()
|
||||
{
|
||||
nextTask?.Cancel();
|
||||
nextTask = Scheduler.AddDelayed(() =>
|
||||
nextTask = Scheduler.AddDelayed(() => { LoadComponentAsync(createBackground(), display); }, 100);
|
||||
}
|
||||
|
||||
private Background createBackground()
|
||||
{
|
||||
Background background;
|
||||
|
||||
@ -62,8 +65,7 @@ namespace osu.Game.Screens.Backgrounds
|
||||
|
||||
background.Depth = currentDisplay;
|
||||
|
||||
LoadComponentAsync(background, display);
|
||||
}, 100);
|
||||
return background;
|
||||
}
|
||||
|
||||
private class SkinnedBackground : Background
|
||||
|
Loading…
Reference in New Issue
Block a user