1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-22 06:47:19 +08:00

Move background logic to base class; reduce overdraw after set fades in

This commit is contained in:
Dean Herbert 2017-08-24 17:39:39 +09:00
parent 76a95495d3
commit 4e1cf329c8
2 changed files with 26 additions and 9 deletions

View File

@ -39,14 +39,8 @@ namespace osu.Game.Overlays.Direct
[BackgroundDependencyLoader]
private void load(OsuColour colours, LocalisationEngine localisation)
{
Children = new[]
AddRange(new Drawable[]
{
new Box
{
RelativeSizeAxes = Axes.Both,
Colour = Color4.Black,
},
CreateBackground(),
new Box
{
RelativeSizeAxes = Axes.Both,
@ -174,7 +168,7 @@ namespace osu.Game.Overlays.Direct
new Statistic(FontAwesome.fa_heart, SetInfo.OnlineInfo?.FavouriteCount ?? 0),
},
},
};
});
}
}
}

View File

@ -2,10 +2,12 @@
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
using System.Collections.Generic;
using osu.Framework.Allocation;
using osu.Framework.Extensions.Color4Extensions;
using OpenTK;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Shapes;
using osu.Framework.Graphics.Sprites;
using osu.Game.Beatmaps;
using osu.Game.Beatmaps.Drawables;
@ -19,6 +21,8 @@ namespace osu.Game.Overlays.Direct
{
protected readonly BeatmapSetInfo SetInfo;
protected Box BlackBackground;
protected DirectPanel(BeatmapSetInfo setInfo)
{
SetInfo = setInfo;
@ -33,6 +37,21 @@ namespace osu.Game.Overlays.Direct
};
}
[BackgroundDependencyLoader]
private void load()
{
AddRange(new[]
{
// temporary blackness until the actual background loads.
BlackBackground = new Box
{
RelativeSizeAxes = Axes.Both,
Colour = Color4.Black,
},
CreateBackground(),
});
}
protected override void LoadComplete()
{
base.LoadComplete();
@ -55,7 +74,11 @@ namespace osu.Game.Overlays.Direct
Origin = Anchor.Centre,
RelativeSizeAxes = Axes.Both,
FillMode = FillMode.Fill,
OnLoadComplete = d => d.FadeInFromZero(400, Easing.Out),
OnLoadComplete = d =>
{
d.FadeInFromZero(400, Easing.Out);
BlackBackground.Delay(400).FadeOut();
},
})
{
RelativeSizeAxes = Axes.Both,