diff --git a/osu.Desktop.VisualTests/Tests/TestCaseKeyCounter.cs b/osu.Desktop.VisualTests/Tests/TestCaseKeyCounter.cs index 87642f3004..7be7d24860 100644 --- a/osu.Desktop.VisualTests/Tests/TestCaseKeyCounter.cs +++ b/osu.Desktop.VisualTests/Tests/TestCaseKeyCounter.cs @@ -19,17 +19,22 @@ namespace osu.Desktop.Tests { base.Reset(); - KeyCounterCollection kc = new KeyCounterCollection + Children = new[] { - Origin = Anchor.Centre, - Anchor = Anchor.Centre, - IsCounting = true + new KeyCounterCollection + { + Origin = Anchor.Centre, + Anchor = Anchor.Centre, + IsCounting = true, + Counters = new KeyCounter[] + { + new KeyCounterKeyboard(@"Z", Key.Z), + new KeyCounterKeyboard(@"X", Key.X), + new KeyCounterMouse(@"M1", MouseButton.Left), + new KeyCounterMouse(@"M2", MouseButton.Right), + }, + }, }; - Add(kc); - kc.AddKey(new KeyCounterKeyboard(@"Z", Key.Z)); - kc.AddKey(new KeyCounterKeyboard(@"X", Key.X)); - kc.AddKey(new KeyCounterMouse(@"M1", MouseButton.Left)); - kc.AddKey(new KeyCounterMouse(@"M2", MouseButton.Right)); } } } diff --git a/osu.Game/GameModes/Menu/ButtonSystem.cs b/osu.Game/GameModes/Menu/ButtonSystem.cs index 87a78c335d..93701e6c18 100644 --- a/osu.Game/GameModes/Menu/ButtonSystem.cs +++ b/osu.Game/GameModes/Menu/ButtonSystem.cs @@ -113,14 +113,17 @@ namespace osu.Game.GameModes.Menu buttonFlow.Position = new Vector2(wedge_width * 2 - (button_width + osuLogo.SizeForFlow / 4), 0); - buttonsPlay.Add((Button)buttonFlow.Add(new Button(@"solo", @"freeplay", FontAwesome.user, new Color4(102, 68, 204, 255), OnSolo, wedge_width, Key.P))); - buttonsPlay.Add((Button)buttonFlow.Add(new Button(@"multi", @"multiplayer", FontAwesome.users, new Color4(94, 63, 186, 255), OnMulti, 0, Key.M))); - buttonsPlay.Add((Button)buttonFlow.Add(new Button(@"chart", @"charts", FontAwesome.fa_osu_charts, new Color4(80, 53, 160, 255), OnChart))); + buttonsPlay.Add(new Button(@"solo", @"freeplay", FontAwesome.user, new Color4(102, 68, 204, 255), OnSolo, wedge_width, Key.P)); + buttonsPlay.Add(new Button(@"multi", @"multiplayer", FontAwesome.users, new Color4(94, 63, 186, 255), OnMulti, 0, Key.M)); + buttonsPlay.Add(new Button(@"chart", @"charts", FontAwesome.fa_osu_charts, new Color4(80, 53, 160, 255), OnChart)); - buttonsTopLevel.Add((Button)buttonFlow.Add(new Button(@"play", @"play", FontAwesome.fa_osu_logo, new Color4(102, 68, 204, 255), onPlay, wedge_width, Key.P))); - buttonsTopLevel.Add((Button)buttonFlow.Add(new Button(@"osu!editor", @"edit", FontAwesome.fa_osu_edit_o, new Color4(238, 170, 0, 255), OnEdit, 0, Key.E))); - buttonsTopLevel.Add((Button)buttonFlow.Add(new Button(@"osu!direct", @"direct", FontAwesome.fa_osu_chevron_down_o, new Color4(165, 204, 0, 255), OnDirect, 0, Key.D))); - buttonsTopLevel.Add((Button)buttonFlow.Add(new Button(@"exit", @"exit", FontAwesome.fa_osu_cross_o, new Color4(238, 51, 153, 255), onExit, 0, Key.Q))); + buttonsTopLevel.Add(new Button(@"play", @"play", FontAwesome.fa_osu_logo, new Color4(102, 68, 204, 255), onPlay, wedge_width, Key.P)); + buttonsTopLevel.Add(new Button(@"osu!editor", @"edit", FontAwesome.fa_osu_edit_o, new Color4(238, 170, 0, 255), OnEdit, 0, Key.E)); + buttonsTopLevel.Add(new Button(@"osu!direct", @"direct", FontAwesome.fa_osu_chevron_down_o, new Color4(165, 204, 0, 255), OnDirect, 0, Key.D)); + buttonsTopLevel.Add(new Button(@"exit", @"exit", FontAwesome.fa_osu_cross_o, new Color4(238, 51, 153, 255), onExit, 0, Key.Q)); + + buttonFlow.Add(buttonsPlay); + buttonFlow.Add(buttonsTopLevel); } protected override bool OnKeyDown(InputState state, KeyDownEventArgs args) diff --git a/osu.Game/GameModes/Menu/Intro.cs b/osu.Game/GameModes/Menu/Intro.cs index 30ca6f931c..e70b2639cf 100644 --- a/osu.Game/GameModes/Menu/Intro.cs +++ b/osu.Game/GameModes/Menu/Intro.cs @@ -44,18 +44,17 @@ namespace osu.Game.GameModes.Menu AudioTrack bgm = Game.Audio.Track.Get(@"circles"); bgm.Looping = true; - Game.Scheduler.Add(delegate + Scheduler.Add(delegate { welcome.Play(); - }, true); + }); - - Game.Scheduler.AddDelayed(delegate + Scheduler.AddDelayed(delegate { bgm.Start(); }, 600); - Game.Scheduler.AddDelayed(delegate + Scheduler.AddDelayed(delegate { DidLoadMenu = true; Push(new MainMenu()); @@ -82,7 +81,7 @@ namespace osu.Game.GameModes.Menu protected override void OnResuming(GameMode last) { //we are just an intro. if we are resumed, we just want to exit after a short delay (to allow the last mode to transition out). - Game.Scheduler.AddDelayed(Exit, 300); + Scheduler.AddDelayed(Exit, 300); base.OnResuming(last); } diff --git a/osu.Game/GameModes/Menu/MainMenu.cs b/osu.Game/GameModes/Menu/MainMenu.cs index 3ee28f5d03..e74c83e03d 100644 --- a/osu.Game/GameModes/Menu/MainMenu.cs +++ b/osu.Game/GameModes/Menu/MainMenu.cs @@ -47,7 +47,7 @@ namespace osu.Game.GameModes.Menu OnSolo = delegate { Push(new PlaySongSelect()); }, OnMulti = delegate { Push(new Lobby()); }, OnTest = delegate { Push(new TestBrowser()); }, - OnExit = delegate { Game.Scheduler.AddDelayed(Exit, ButtonSystem.EXIT_DELAY); }, + OnExit = delegate { Scheduler.AddDelayed(Exit, ButtonSystem.EXIT_DELAY); }, OnSettings = delegate { osu.Options.PoppedOut = !osu.Options.PoppedOut; }, diff --git a/osu.Game/GameModes/OsuGameMode.cs b/osu.Game/GameModes/OsuGameMode.cs index d81d30f0d5..b0928d8214 100644 --- a/osu.Game/GameModes/OsuGameMode.cs +++ b/osu.Game/GameModes/OsuGameMode.cs @@ -41,7 +41,7 @@ namespace osu.Game.GameModes } else if (bg != null) { - AddTopLevel(new ParallaxContainer + AddInternal(new ParallaxContainer { Depth = float.MinValue, Children = new[] @@ -51,7 +51,6 @@ namespace osu.Game.GameModes }); } - base.OnEntering(last); } diff --git a/osu.Game/Graphics/Containers/ParallaxContainer.cs b/osu.Game/Graphics/Containers/ParallaxContainer.cs index 3c6cb18162..183b0c054a 100644 --- a/osu.Game/Graphics/Containers/ParallaxContainer.cs +++ b/osu.Game/Graphics/Containers/ParallaxContainer.cs @@ -14,21 +14,21 @@ namespace osu.Game.Graphics.Containers public ParallaxContainer() { RelativeSizeAxes = Axes.Both; + AddInternal(content = new Container() + { + RelativeSizeAxes = Axes.Both, + Anchor = Anchor.Centre, + Origin = Anchor.Centre + }); } - private Container content = new Container() - { - RelativeSizeAxes = Axes.Both, - Anchor = Anchor.Centre, - Origin = Anchor.Centre - }; + private Container content; - protected override Container AddTarget => content; + protected override Container Content => content; public override void Load() { base.Load(); - Add(content); } protected override bool OnMouseMove(InputState state) diff --git a/osu.Game/Graphics/UserInterface/KeyCounterCollection.cs b/osu.Game/Graphics/UserInterface/KeyCounterCollection.cs index 288d1e2018..c9d22d2f06 100644 --- a/osu.Game/Graphics/UserInterface/KeyCounterCollection.cs +++ b/osu.Game/Graphics/UserInterface/KeyCounterCollection.cs @@ -22,18 +22,19 @@ namespace osu.Game.Graphics.UserInterface set { foreach (var k in value) - AddKey(k); + addKey(k); + + Children = value; } } - public void AddKey(KeyCounter key) + private void addKey(KeyCounter key) { counters.Add(key); - key.IsCounting = this.IsCounting; - key.FadeTime = this.FadeTime; - key.KeyDownTextColor = this.KeyDownTextColor; - key.KeyUpTextColor = this.KeyUpTextColor; - base.Add(key); + key.IsCounting = IsCounting; + key.FadeTime = FadeTime; + key.KeyDownTextColor = KeyDownTextColor; + key.KeyUpTextColor = KeyUpTextColor; } public void ResetCount() diff --git a/osu.Game/OsuGame.cs b/osu.Game/OsuGame.cs index 87c6c30c51..d8ae0b05a1 100644 --- a/osu.Game/OsuGame.cs +++ b/osu.Game/OsuGame.cs @@ -49,7 +49,7 @@ namespace osu.Game OnHome = delegate { MainMenu?.MakeCurrent(); }, OnSettings = delegate { Options.PoppedOut = !Options.PoppedOut; }, OnPlayModeChange = delegate (PlayMode m) { PlayMode.Value = m; }, - Alpha = 0.001f //fixes invalidation fuckup + Alpha = 0.001f, }, new VolumeControl { diff --git a/osu.Game/OsuGameBase.cs b/osu.Game/OsuGameBase.cs index 0f0a9116a0..bd3990d5ef 100644 --- a/osu.Game/OsuGameBase.cs +++ b/osu.Game/OsuGameBase.cs @@ -21,7 +21,7 @@ namespace osu.Game public Options Options; public APIAccess API; - protected override Container AddTarget => ratioContainer?.IsLoaded == true ? ratioContainer : base.AddTarget; + protected override Container Content => ratioContainer?.IsLoaded == true ? ratioContainer : base.Content; private RatioAdjust ratioContainer;