mirror of
https://github.com/ppy/osu
synced 2025-01-19 04:20:59 +00:00
DI facade
This commit is contained in:
parent
4fa6afdb1f
commit
e93311fdc9
30
osu.Game/Graphics/Containers/FacadeContainer.cs
Normal file
30
osu.Game/Graphics/Containers/FacadeContainer.cs
Normal file
@ -0,0 +1,30 @@
|
||||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
||||
// See the LICENCE file in the repository root for full licence text.
|
||||
|
||||
using osu.Framework.Allocation;
|
||||
using osu.Framework.Graphics.Containers;
|
||||
using osu.Game.Screens.Menu;
|
||||
using osuTK;
|
||||
|
||||
namespace osu.Game.Graphics.Containers
|
||||
{
|
||||
public class FacadeContainer : Container
|
||||
{
|
||||
[Cached]
|
||||
private Facade facade;
|
||||
|
||||
public FacadeContainer()
|
||||
{
|
||||
facade = new Facade();
|
||||
}
|
||||
|
||||
public void SetLogo(OsuLogo logo)
|
||||
{
|
||||
facade.Size = new Vector2(logo.SizeForFlow);
|
||||
}
|
||||
}
|
||||
|
||||
public class Facade : Container
|
||||
{
|
||||
}
|
||||
}
|
@ -14,6 +14,7 @@ using osu.Framework.Screens;
|
||||
using osu.Framework.Threading;
|
||||
using osu.Game.Beatmaps;
|
||||
using osu.Game.Graphics;
|
||||
using osu.Game.Graphics.Containers;
|
||||
using osu.Game.Graphics.Sprites;
|
||||
using osu.Game.Graphics.UserInterface;
|
||||
using osu.Game.Screens.Menu;
|
||||
@ -32,7 +33,7 @@ namespace osu.Game.Screens.Play
|
||||
|
||||
private Player player;
|
||||
|
||||
private Container content;
|
||||
private FacadeContainer content;
|
||||
|
||||
private BeatmapMetadataDisplay info;
|
||||
|
||||
@ -59,7 +60,7 @@ namespace osu.Game.Screens.Play
|
||||
[BackgroundDependencyLoader]
|
||||
private void load()
|
||||
{
|
||||
InternalChild = content = new Container
|
||||
InternalChild = content = new FacadeContainer
|
||||
{
|
||||
Anchor = Anchor.Centre,
|
||||
Origin = Anchor.Centre,
|
||||
@ -153,6 +154,8 @@ namespace osu.Game.Screens.Play
|
||||
logo.FadeIn(350);
|
||||
|
||||
logo.Delay(resuming ? 0 : 500).MoveToOffset(new Vector2(0, -0.24f), 500, Easing.InOutExpo);
|
||||
|
||||
content.SetLogo(logo);
|
||||
}
|
||||
|
||||
protected override void LoadComplete()
|
||||
@ -302,6 +305,8 @@ namespace osu.Game.Screens.Play
|
||||
private LoadingAnimation loading;
|
||||
private Sprite backgroundSprite;
|
||||
private ModDisplay modDisplay;
|
||||
private FillFlowContainer fillFlowContainer;
|
||||
private FacadeContainer facadeContainer;
|
||||
|
||||
public bool Loading
|
||||
{
|
||||
@ -326,14 +331,14 @@ namespace osu.Game.Screens.Play
|
||||
}
|
||||
|
||||
[BackgroundDependencyLoader]
|
||||
private void load()
|
||||
private void load(Facade facade)
|
||||
{
|
||||
var metadata = beatmap.BeatmapInfo?.Metadata ?? new BeatmapMetadata();
|
||||
|
||||
AutoSizeAxes = Axes.Both;
|
||||
Children = new Drawable[]
|
||||
{
|
||||
new FillFlowContainer
|
||||
fillFlowContainer = new FillFlowContainer
|
||||
{
|
||||
AutoSizeAxes = Axes.Both,
|
||||
Origin = Anchor.TopCentre,
|
||||
@ -341,6 +346,7 @@ namespace osu.Game.Screens.Play
|
||||
Direction = FillDirection.Vertical,
|
||||
Children = new Drawable[]
|
||||
{
|
||||
facade,
|
||||
new OsuSpriteText
|
||||
{
|
||||
Text = new LocalisedString((metadata.TitleUnicode, metadata.Title)),
|
||||
|
Loading…
Reference in New Issue
Block a user