Example #1
0
        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);
                }
            };
        }
Example #2
0
        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;
        }