private void CreatePauseResumeButton(ContainerRuntime stackPanel, Texture2D iconSpriteSheet) { var pauseResumeButton = new Button(); var internalSprite = new global::RenderingLibrary.Graphics.Sprite(iconSpriteSheet); var sprite = new GraphicalUiElement(internalSprite, null); sprite.Parent = pauseResumeButton.Visual; InitializeIconSprite(sprite); SetToPauseIcon(sprite); pauseResumeButton.Visual.Parent = stackPanel; pauseResumeButton.Text = ""; // do an absolute width because otherwise it will change size according to the icons pauseResumeButton.Visual.Width = 36; pauseResumeButton.Visual.Height = 38; pauseResumeButton.X = borderWidth; pauseResumeButton.Y = borderWidth; pauseResumeButton.Push += (not, used) => { var screen = FlatRedBall.Screens.ScreenManager.CurrentScreen; if (screen.IsPaused) { screen.UnpauseThisScreen(); SetToPauseIcon(sprite); } else { screen.PauseThisScreen(); SetToPlayIcon(sprite); } }; }
private void CreateRestartButton(ContainerRuntime stackPanel, Texture2D iconSpriteSheet) { var restartButton = new Button(); restartButton.Visual.Parent = stackPanel; restartButton.Visual.WidthUnits = global::Gum.DataTypes.DimensionUnitType.RelativeToChildren; restartButton.Visual.Width = 10; restartButton.Visual.Height = 38; restartButton.X = borderWidth; restartButton.Y = borderWidth; restartButton.Text = ""; restartButton.Push += (not, used) => FlatRedBall.Screens.ScreenManager.CurrentScreen.RestartScreen(reloadContent: true); var internalSprite = new global::RenderingLibrary.Graphics.Sprite(iconSpriteSheet); var restartSprite = new GraphicalUiElement(internalSprite, null); restartSprite.Parent = restartButton.Visual; InitializeIconSprite(restartSprite); restartSprite.TextureLeft = 0; restartSprite.TextureTop = 0; restartSprite.TextureWidth = 30; restartSprite.TextureHeight = 30; }