using System; using OpenTK.Graphics; using osu.Framework.Logging; using osu.Framework.Graphics; using osu.Game.Overlays.Pause; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Colour; using osu.Framework.GameModes.Testing; using osu.Framework.Graphics.UserInterface; namespace osu.Desktop.VisualTests.Tests { class TestCasePauseOverlay : TestCase { public override string Name => @"PauseOverlay"; public override string Description => @"Tests the pause overlay"; private PauseOverlay pauseOverlay; private int retryCount; public override void Reset() { base.Reset(); Children = new Drawable[] { new Box { ColourInfo = ColourInfo.GradientVertical(Color4.Gray, Color4.WhiteSmoke), RelativeSizeAxes = Framework.Graphics.Axes.Both }, pauseOverlay = new PauseOverlay { Depth = -1 }, new FlowContainer { RelativeSizeAxes = Axes.Both, Origin = Anchor.TopLeft, Anchor = Anchor.TopLeft, Direction = FlowDirection.VerticalOnly, Children = new Drawable[] { new Button { Text = @"Pause", Anchor = Anchor.TopLeft, Origin = Anchor.TopLeft, Width = 100, Height = 50, Colour = Color4.Black, Action = () => pauseOverlay.Show() }, new Button { Text = @"Add Retry", Anchor = Anchor.TopLeft, Origin = Anchor.TopLeft, Width = 100, Height = 50, Colour = Color4.Black, Action = delegate { retryCount++; pauseOverlay.SetRetries(retryCount); }, } } } }; pauseOverlay.OnResume += () => Logger.Log(@"Resume"); pauseOverlay.OnRetry += () => Logger.Log(@"Retry"); pauseOverlay.OnQuit += () => Logger.Log(@"Quit"); retryCount = 0; } } }