1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 02:07:34 +08:00

Improve information flow to Disclaimer

This commit is contained in:
Dean Herbert 2019-07-09 18:06:49 +09:00
parent 0580c32263
commit e835cd0f6f
2 changed files with 16 additions and 5 deletions

View File

@ -45,7 +45,15 @@ namespace osu.Game.Screens
private OsuScreen loadableScreen; private OsuScreen loadableScreen;
private ShaderPrecompiler precompiler; private ShaderPrecompiler precompiler;
protected virtual OsuScreen CreateLoadableScreen() => showDisclaimer ? (OsuScreen)new Disclaimer() : new Intro(); protected virtual OsuScreen CreateLoadableScreen()
{
if (showDisclaimer)
return new Disclaimer(getIntroSequence());
return getIntroSequence();
}
private IntroScreen getIntroSequence() => new IntroCircles();
protected virtual ShaderPrecompiler CreateShaderPrecompiler() => new ShaderPrecompiler(); protected virtual ShaderPrecompiler CreateShaderPrecompiler() => new ShaderPrecompiler();

View File

@ -21,7 +21,6 @@ namespace osu.Game.Screens.Menu
{ {
public class Disclaimer : StartupScreen public class Disclaimer : StartupScreen
{ {
private Intro intro;
private SpriteIcon icon; private SpriteIcon icon;
private Color4 iconColour; private Color4 iconColour;
private LinkFlowContainer textFlow; private LinkFlowContainer textFlow;
@ -32,10 +31,13 @@ namespace osu.Game.Screens.Menu
private const float icon_y = -85; private const float icon_y = -85;
private const float icon_size = 30; private const float icon_size = 30;
private readonly OsuScreen nextScreen;
private readonly Bindable<User> currentUser = new Bindable<User>(); private readonly Bindable<User> currentUser = new Bindable<User>();
public Disclaimer() public Disclaimer(OsuScreen nextScreen = null)
{ {
this.nextScreen = nextScreen;
ValidForResume = false; ValidForResume = false;
} }
@ -146,7 +148,8 @@ namespace osu.Game.Screens.Menu
protected override void LoadComplete() protected override void LoadComplete()
{ {
base.LoadComplete(); base.LoadComplete();
LoadComponentAsync(intro = new Intro()); if (nextScreen != null)
LoadComponentAsync(nextScreen);
} }
public override void OnEntering(IScreen last) public override void OnEntering(IScreen last)
@ -170,7 +173,7 @@ namespace osu.Game.Screens.Menu
.Then(5500) .Then(5500)
.FadeOut(250) .FadeOut(250)
.ScaleTo(0.9f, 250, Easing.InQuint) .ScaleTo(0.9f, 250, Easing.InQuint)
.Finally(d => this.Push(intro)); .Finally(d => this.Push(nextScreen));
} }
} }
} }