public override void Draw(SpriteBatch spriteBatch, ViewportAdapter viewportAdapter)
        {
            base.Draw(spriteBatch, viewportAdapter);
            var debugMode = SceneManager.Instance.DebugMode;

            // Draw the background
            spriteBatch.Begin(transformMatrix: viewportAdapter.GetScaleMatrix(), samplerState: SamplerState.PointClamp);
            spriteBatch.Draw(_backgroundTexture, Vector2.Zero, Color.White);
            spriteBatch.End();

            // Draw the camera (with the map)
            MapManager.Instance.Draw(_camera, spriteBatch);

            spriteBatch.Begin(transformMatrix: _camera.GetViewMatrix(), samplerState: SamplerState.PointClamp);

            // Draw the crystal
            _crystal.Draw(spriteBatch);
            if (debugMode)
            {
                _crystal.DrawCollider(spriteBatch);
            }

            // Draw the player
            _player.DrawCharacter(spriteBatch);
            if (debugMode)
            {
                _player.DrawColliderBox(spriteBatch);
            }

            // Draw the enemies
            _enemies.ForEach(enemy => enemy.DrawCharacter(spriteBatch));
            if (debugMode)
            {
                _enemies.ForEach(enemy => enemy.DrawColliderBox(spriteBatch));
            }

            // Draw the projectiles
            foreach (var projectile in _projectiles)
            {
                projectile.Draw(spriteBatch);
                if (debugMode)
                {
                    spriteBatch.Draw(_projectilesColliderTexture, projectile.BoundingBox, Color.White * 0.5f);
                }
            }

            // Draw the particles
            _particleEffects.ForEach(particle => spriteBatch.Draw(particle));

            spriteBatch.End();

            // Draw the HUD and Wave Clear
            spriteBatch.Begin(transformMatrix: viewportAdapter.GetScaleMatrix(), samplerState: SamplerState.PointClamp);

            spriteBatch.DrawString(SceneManager.Instance.GameFontBig, WaveClearText, _waveClearPosition + 1 * Vector2.UnitY, Color.Black * _waveClearAlpha);
            spriteBatch.DrawString(SceneManager.Instance.GameFontBig, WaveClearText, _waveClearPosition, Color.White * _waveClearAlpha);
            _gameHud.Draw(spriteBatch);

            spriteBatch.End();
        }
Example #2
0
        public override void Draw(SpriteBatch spriteBatch, ViewportAdapter viewportAdapter)
        {
            base.Draw(spriteBatch, viewportAdapter);
            spriteBatch.Begin(transformMatrix: viewportAdapter.GetScaleMatrix(), samplerState: SamplerState.PointClamp);

            // Background and Logo
            spriteBatch.Draw(_backgroundSprite);
            spriteBatch.Draw(_logoSprite);

            if (_phase == PressAnyButtonPhase)
            {
                spriteBatch.DrawString(SceneManager.Instance.GameFont, "Press Any Button", _pressAnyButtonPosition, _menuItemColor);
            }
            else if (_phase == MenuPhase)
            {
                // Menu
                for (var i = 0; i < _menuOptions.Length; i++)
                {
                    spriteBatch.DrawString(SceneManager.Instance.GameFont, _menuOptions[i],
                                           new Vector2(25, _menuY + (i * SceneManager.Instance.GameFont.LineHeight)), _menuItemColor);
                }
                spriteBatch.Draw(_menuIcon);
            }

            spriteBatch.End();
        }
Example #3
0
        internal void Draw(SpriteBatch spriteBatch)
        {
            var originalViewport = spriteBatch.GraphicsDevice.Viewport;

            spriteBatch.GraphicsDevice.Viewport = Viewport;
            spriteBatch.Begin(samplerState: SamplerState.PointWrap, transformMatrix: ViewportAdapter.GetScaleMatrix());

            Controls.Draw(spriteBatch);

            var imgMinimap             = Controls["frmHudView.frmMinimap.imgMinimap"];
            var minimapViewedRectangle = MinimapHandler.GetViewedRectangle(WorldView, imgMinimap.Size);

            minimapViewedRectangle.X += imgMinimap.Left;
            minimapViewedRectangle.Y += imgMinimap.Top;

            spriteBatch.DrawRectangle(minimapViewedRectangle, Color.White);
            spriteBatch.DrawPoint(minimapViewedRectangle.Center.ToVector2(), Color.White);

            var font = AssetsManager.Instance.GetSpriteFont("CrimsonText-Regular-12");

            var frmUnits            = Controls["frmHudView.frmUnits"];
            var frmUnitsTopLeft     = frmUnits.TopLeft;
            var frmUnitsBottomRight = frmUnits.BottomRight;
            var hexPoint            = WorldView.Camera.ScreenPixelToWorldHex(Input.MousePosition); // get tile mouse is over

            DrawUnits(spriteBatch, StackViews, SelectedStackView, frmUnitsTopLeft, frmUnitsBottomRight, WorldView.GetActionButtons);
            DrawNotifications(spriteBatch, font, WorldView.NotificationList);
            DrawTileInfo(spriteBatch, font, 10.0f, Area.Height * 0.96f, WorldView.CellGrid, hexPoint);

            spriteBatch.End();
            spriteBatch.GraphicsDevice.Viewport = originalViewport;
        }
Example #4
0
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.Black);

            // when rendering sprites, you'll always work within the bounds of the virtual width and height
            // specified when setting up the viewport adapter. The default MonoGame window is 800x480.
            var destinationRectangle = new Rectangle(0, 0, 800, 480);

            _spriteBatch.Begin(transformMatrix: _currentViewportAdapter.GetScaleMatrix());
            _spriteBatch.Draw(_backgroundTexture, destinationRectangle, Color.White);

            _spriteBatch.DrawString(_bitmapFont, $"Press D: {typeof (DefaultViewportAdapter).Name}", new Vector2(5, 5), Color.White);

            _spriteBatch.DrawString(_bitmapFont, $"Press S: {typeof (ScalingViewportAdapter).Name}", new Vector2(5, 5 + _bitmapFont.LineHeight * 1), Color.White);

            _spriteBatch.DrawString(_bitmapFont, $"Press B: {typeof (BoxingViewportAdapter).Name}", new Vector2(5, 5 + _bitmapFont.LineHeight * 2), Color.White);

            _spriteBatch.DrawString(_bitmapFont, $"Current: {_currentViewportAdapter.GetType().Name}", new Vector2(5, 5 + _bitmapFont.LineHeight * 4), Color.Black);

            _spriteBatch.DrawString(_bitmapFont, @"Try resizing the window", new Vector2(5, 5 + _bitmapFont.LineHeight * 6), Color.Black);

            _spriteBatch.DrawString(_bitmapFont, $"Mouse: {_mousePosition}", new Vector2(5, 5 + _bitmapFont.LineHeight * 8), Color.Black);

            _spriteBatch.End();

            base.Draw(gameTime);
        }
Example #5
0
        public override void Draw(SpriteBatch spriteBatch, ViewportAdapter viewportAdapter)
        {
            base.Draw(spriteBatch, viewportAdapter);

            spriteBatch.Begin(transformMatrix: viewportAdapter.GetScaleMatrix(), samplerState: SamplerState.PointClamp);
            spriteBatch.Draw(_backgroundTexture, Vector2.Zero, Color.White);
            spriteBatch.End();
        }
Example #6
0
        public override void Draw(SpriteBatch spriteBatch, ViewportAdapter viewportAdapter)
        {
            base.Draw(spriteBatch, viewportAdapter);

            spriteBatch.Begin(transformMatrix: viewportAdapter.GetScaleMatrix(), samplerState: SamplerState.PointClamp);
            spriteBatch.Draw(_backgroundTexture, Vector2.Zero, Color.White);
            spriteBatch.Draw(_gameTitleTexture, _titlePosition + _titlePositionFloat * Vector2.UnitY, Color.White);
            spriteBatch.DrawString(SceneManager.Instance.GameFont, PressAnyKeyText, _pressAnyKeyPosition, Color.White * _pressAnyKeyAlpha);
            spriteBatch.End();
        }
Example #7
0
        protected override void Draw(GameTime gameTime)
        {
            base.Draw(gameTime);

            _spriteBatch.Begin(transformMatrix: _viewportAdapter.GetScaleMatrix());
            _spriteBatch.Draw(_backgroundTexture, _viewportAdapter.BoundingRectangle, Color.White);
            _spriteBatch.End();

            _guiSystem.Draw(gameTime);
        }
Example #8
0
        /// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.CornflowerBlue);

            spriteBatch.Begin(transformMatrix: viewport.GetScaleMatrix());
            world.Draw(gameTime.ElapsedGameTime);
            spriteBatch.End();

            base.Draw(gameTime);
        }
Example #9
0
 public Matrix GetViewMatrix(Vector2 parallaxFactor)
 {
     return
         (Matrix.CreateTranslation(new Vector3(-Position * parallaxFactor, 0.0f)) *
          Matrix.CreateTranslation(new Vector3(-Origin, 0.0f)) *
          Matrix.CreateRotationZ(Rotation) *
          Matrix.CreateScale(Zoom, Zoom, 1) *
          Matrix.CreateTranslation(new Vector3(Origin, 0.0f)) *
          _viewportAdapter.GetScaleMatrix());
 }
Example #10
0
        internal void Draw(SpriteBatch spriteBatch)
        {
            var originalViewport = spriteBatch.GraphicsDevice.Viewport;

            spriteBatch.GraphicsDevice.Viewport = Viewport;
            spriteBatch.Begin(samplerState: SamplerState.PointWrap, transformMatrix: ViewportAdapter.GetScaleMatrix());
            CursorImage.Draw(spriteBatch);
            spriteBatch.End();
            spriteBatch.GraphicsDevice.Viewport = originalViewport;
        }
Example #11
0
        public override void Draw(SpriteBatch spriteBatch, ViewportAdapter viewportAdapter)
        {
            base.Draw(spriteBatch, viewportAdapter);

            var screenSize = SceneManager.Instance.VirtualSize;
            var screenRect = new Rectangle(0, 0, (int)screenSize.X, (int)screenSize.Y);

            spriteBatch.Begin(transformMatrix: viewportAdapter.GetScaleMatrix(), samplerState: SamplerState.PointClamp);
            spriteBatch.Draw(_backgroundTexture, screenRect, Color.White);
            spriteBatch.Draw(_logoTextures[_currentFrame], Vector2.Zero, Color.White * _logoAlpha);
            spriteBatch.Draw(_monogameLogoTexture, Vector2.Zero, Color.White * _monogameAlpha);
            spriteBatch.End();
        }
Example #12
0
        public void Draw(SpriteBatch spriteBatch)
        {
            var originalViewport = spriteBatch.GraphicsDevice.Viewport;

            spriteBatch.GraphicsDevice.Viewport = _viewport;
            spriteBatch.Begin(samplerState: SamplerState.PointWrap, transformMatrix: _viewportAdapter.GetScaleMatrix());

            Controls.Draw(spriteBatch);
            _fps.Draw();

            spriteBatch.End();
            spriteBatch.GraphicsDevice.Viewport = originalViewport;
        }
Example #13
0
        internal void Draw(SpriteBatch spriteBatch)
        {
            var originalViewport = spriteBatch.GraphicsDevice.Viewport;

            spriteBatch.GraphicsDevice.Viewport = Viewport;
            spriteBatch.Begin(samplerState: SamplerState.PointWrap, transformMatrix: ViewportAdapter.GetScaleMatrix());

            if (Settlement != null)
            {
                MainFrame.Draw(spriteBatch);
                SecondaryFrame.Draw(spriteBatch);
            }

            spriteBatch.End();
            spriteBatch.GraphicsDevice.Viewport = originalViewport;
        }
Example #14
0
        public override void Draw(GameTime gameTime)
        {
            SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointClamp, transformMatrix: _viewport.GetScaleMatrix());

            SpriteBatch.DrawString(_terminalFont, _outputText, new Vector2(4, _outputY * 11 + 4), Color.White);

            SpriteBatch.FillRectangle(0, 256 - 16, 256, 16, Color.Black);
            SpriteBatch.DrawRectangle(0, 256 - 16, 256, 16, Color.White);

            SpriteBatch.DrawString(_terminalFont, "root:~$ " + _inputText.Insert(_cursorPosition, _isInsert ? "_" : "|"), new Vector2(4, 256 - 14), Color.White);

            SpriteBatch.DrawRectangle(0, 0, 256, 256, Color.White);

            SpriteBatch.End();

            base.Draw(gameTime);
        }
        public void Draw(SpriteBatch sb, SpriteFont font, ViewportAdapter va)
        {
            sb.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, transformMatrix: va.GetScaleMatrix());

            const int y        = Logger.YPosition + 20;
            const int x        = Logger.XPosition;
            var       position = new Vector2(x, y);

            sb.DrawString(font, _typedString, position, Color.White);

            if (_isCursorVisible)
            {
                sb.DrawString(font, "_", new Vector2(font.MeasureString(_typedString).X + x, y), Color.White);
            }

            Log.Messages.ForEach(m => sb.DrawString(font, m.Value, m.Position, m.Color));

            sb.End();
        }
Example #16
0
        internal void Draw(SpriteBatch spriteBatch, Camera camera)
        {
            var originalViewport = spriteBatch.GraphicsDevice.Viewport;

            spriteBatch.GraphicsDevice.Viewport = Viewport;
            spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, null, null, null, null, camera.Transform * ViewportAdapter.GetScaleMatrix()); // FrontToBack

            DrawCellGrid(spriteBatch, OverlandMap.CellGrid, WorldView.Camera);

            spriteBatch.End();
            spriteBatch.GraphicsDevice.Viewport = originalViewport;
        }
Example #17
0
 public Matrix GetViewMatrix(Vector2 parallaxFactor)
 {
     return(GetVirtualViewMatrix(parallaxFactor) * _viewportAdapter.GetScaleMatrix());
 }
        public void Draw(SpriteBatch spriteBatch, Camera camera)
        {
            var originalViewport = spriteBatch.GraphicsDevice.Viewport;

            spriteBatch.GraphicsDevice.Viewport = Viewport;
            spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, null, null, null, null, camera.Transform * ViewportAdapter.GetScaleMatrix()); // FrontToBack

            foreach (var settlement in Settlements)
            {
                OverlandSettlementView.Settlement = settlement;
                OverlandSettlementView.Draw(spriteBatch);
            }

            spriteBatch.End();
            spriteBatch.GraphicsDevice.Viewport = originalViewport;
        }
Example #19
0
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.CornflowerBlue);

            var viewMatrix       = _camera.GetViewMatrix();
            var projectionMatrix = Matrix.CreateOrthographicOffCenter(0, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, 0, 0f, -1f);

            // Map
            _mapRenderer.Draw(ref viewMatrix, ref projectionMatrix);

            // Entities
            _spriteBatch.Begin(samplerState: SamplerState.PointClamp, blendState: BlendState.AlphaBlend, transformMatrix: _camera.GetViewMatrix());
            _entityManager.Draw(_spriteBatch);
            _spriteBatch.End();

            // UI
            _spriteBatch.Begin(samplerState: SamplerState.PointWrap, transformMatrix: _viewportAdapter.GetScaleMatrix());
            _spriteBatch.End();

            base.Draw(gameTime);
        }
Example #20
0
        public override void Draw(SpriteBatch spriteBatch, ViewportAdapter viewportAdapter)
        {
            base.Draw(spriteBatch, viewportAdapter);

            spriteBatch.Begin(samplerState: SamplerState.PointClamp, transformMatrix: viewportAdapter.GetScaleMatrix());

            // Background
            spriteBatch.Draw(_backgroundTexture, _backgroundTexture.Bounds, Color.White);

            // Strings
            DrawWithShadow(spriteBatch, PlayerManager.Instance.Ammo.ToString(), _ammoPosition);
            DrawWithShadow(spriteBatch, PlayerManager.Instance.Coins.ToString(), _coinsPosition);
            DrawWithShadow(spriteBatch, "HP", _hpTextPosition);
            DrawWithShadow(spriteBatch, "Lives", _livesTextPosition);

            // Hearts and lives
            DrawCenteredSpritesOnRectangle(spriteBatch, _hpSpritesArea, _heartSprite, PlayerManager.Instance.Hearts);
            DrawCenteredSpritesOnRectangle(spriteBatch, _livesSpritesArea, _lifeSprite, PlayerManager.Instance.Lives);

            var stages = PlayerManager.Instance.StagesCompleted;

            for (var i = 0; i < GetCurrentStage(); i++)
            {
                var position = new Rectangle((int)_stageSelectionPositions[i].X, (int)_stageSelectionPositions[i].Y, 19, 19);
                if (stages[i].RankS)
                {
                    spriteBatch.Draw(_stageSelectionSpritesheet, position, _sStageMarkFrames[_sStageIndex], Color.White, 0f,
                                     new Vector2(9, 9), SpriteEffects.None, 0f);
                }
                else
                {
                    spriteBatch.Draw(_stageSelectionSpritesheet, position, new Rectangle(76, 0, 19, 19), Color.White, 0f,
                                     new Vector2(9, 9), SpriteEffects.None, 0f);
                }
            }

            spriteBatch.DrawString(SceneManager.Instance.GameFont, MapPressMessage(), _pressZTextPosition, _fontColor);

            // Map sprites
            _stageSelectionSprite.Draw(spriteBatch);
            _stageSelectionPeteSprite.Draw(spriteBatch);

            spriteBatch.End();
        }
Example #21
0
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(backgroundColor);

            var sourceRectangle = new Rectangle(0, 0, viewportAdapter.VirtualWidth, viewportAdapter.VirtualHeight);

            sourceRectangle.Offset(camera.Position * new Vector2(0.1f));

            spriteBatch.Begin(samplerState: SamplerState.LinearWrap, blendState: BlendState.AlphaBlend, transformMatrix: viewportAdapter.GetScaleMatrix());
            screenManager.Draw(spriteBatch);
            spriteBatch.End();

            spriteBatch.Begin(transformMatrix: camera.GetViewMatrix());

            spriteBatch.End();

            base.Draw(gameTime);
        }
Example #22
0
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.Black);

            // background
            var sourceRectangle = new Rectangle(0, 0, _viewportAdapter.VirtualWidth, _viewportAdapter.VirtualHeight);

            sourceRectangle.Offset(_camera.Position * new Vector2(0.1f));

            _spriteBatch.Begin(samplerState: SamplerState.PointWrap, transformMatrix: _viewportAdapter.GetScaleMatrix());
            _spriteBatch.Draw(_backgroundTexture, Vector2.Zero, sourceRectangle, Color.White);
            _spriteBatch.DrawString(_font, $"{_score}", Vector2.One, Color.White);
            _spriteBatch.End();

            // entities
            _spriteBatch.Begin(samplerState: SamplerState.PointClamp, blendState: BlendState.AlphaBlend, transformMatrix: _camera.GetViewMatrix());
            _entityManager.Draw(_spriteBatch);
            _spriteBatch.End();

            _spriteBatch.Begin(transformMatrix: _camera.GetViewMatrix());



            _spriteBatch.End();

            base.Draw(gameTime);
        }
        public override void Draw(SpriteBatch spriteBatch, ViewportAdapter viewportAdapter)
        {
            base.Draw(spriteBatch, viewportAdapter);

            var screenSize = SceneManager.Instance.VirtualSize;
            var gameFont   = SceneManager.Instance.GameFont;

            spriteBatch.Begin(samplerState: SamplerState.PointClamp, transformMatrix: viewportAdapter.GetScaleMatrix());

            // Background
            spriteBatch.Draw(_backgroundTexture, _backgroundTexture.Bounds, Color.White);

            // Title
            var titleString = _titleStrings[SceneManager.Instance.TypeOfSceneSaves];
            var titleX      = (SceneManager.Instance.VirtualSize.X - SceneManager.Instance.GameFontBig.MeasureString(titleString).X) / 2;

            spriteBatch.DrawTextWithShadow(SceneManager.Instance.GameFontBig, titleString, new Vector2(titleX, 10), Color.White);

            // Slots
            for (var i = 0; i < 3; i++)
            {
                var slotPosition = _slotsPosition[i].Location.ToVector2();

                // Check if the slot isn't empty
                if (_gameSaves[i].StagesCompleted > 0)
                {
                    // Pete Head
                    if (_slotIndex == i)
                    {
                        _peteAnimatedSprite.Position = slotPosition + _peteHeadPosition;
                        _peteAnimatedSprite.Draw(spriteBatch);
                    }
                    else
                    {
                        spriteBatch.Draw(_peteSpritesheet, slotPosition + _peteHeadPosition, _peteDefaultFrame, Color.White);
                    }

                    // Save Name
                    spriteBatch.DrawString(gameFont, "SAVE NAME", slotPosition + _namePosition, _fontColor);

                    // Stages
                    var divisorPosition = Vector2.Zero;
                    for (var j = 0; j < _gameSaves[i].StagesCompleted; j++)
                    {
                        var markPosition = slotPosition + _stagesPosition + ((_stagePeteMarkFrame.Width + 4) * j * Vector2.UnitX);
                        spriteBatch.Draw(_stageSpritesheet, markPosition, _stagePeteMarkFrame, Color.White);
                        if (j < SceneManager.MaxLevels - 1)
                        {
                            divisorPosition = markPosition + (_stagePeteMarkFrame.Width + 1) * Vector2.UnitX + (9 * Vector2.UnitY);
                            spriteBatch.Draw(_stageSpritesheet, divisorPosition, _stageDivisorFrame, Color.White);
                        }
                    }

                    if (_gameSaves[i].StagesCompleted < SceneManager.MaxLevels)
                    {
                        var nextMarkPos = (divisorPosition == Vector2.Zero) ? (slotPosition + _stagesPosition) : (divisorPosition - (9 * Vector2.UnitY) + (3 * Vector2.UnitX));
                        if (_slotIndex == i)
                        {
                            _nextStageMarkAnimatedSprite.Position = nextMarkPos;
                            _nextStageMarkAnimatedSprite.Draw(spriteBatch);
                        }
                        else
                        {
                            spriteBatch.Draw(_stageSpritesheet, nextMarkPos, _stageNextMarkFrame, Color.White);
                        }
                    }

                    // Lives
                    var lives         = _gameSaves[i].Lives;
                    var livesWidth    = (lives * _lifeFrame.Width) + (lives - 1);
                    var livesPosition = slotPosition + (_slotsPosition[i].Width - livesWidth - _livesPosition.X) * Vector2.UnitX + _livesPosition.Y * Vector2.UnitY;
                    for (var j = 0; j < lives; j++)
                    {
                        var lifePosition = livesPosition + ((_lifeFrame.Width + 1) * j * Vector2.UnitX);
                        spriteBatch.Draw(_iconsSpritesheet, lifePosition, _lifeFrame, Color.White);
                    }

                    // Hearts
                    var hearts         = _gameSaves[i].Hearts;
                    var heartsWidth    = (hearts * _heartFrame.Width) + (hearts - 1) * 5;
                    var heartsPosition = slotPosition + (_slotsPosition[i].Width - heartsWidth - _heartsPosition.X) * Vector2.UnitX + _heartsPosition.Y * Vector2.UnitY;
                    for (var j = 0; j < hearts; j++)
                    {
                        var heartPosition = heartsPosition + ((_heartFrame.Width + 5) * j * Vector2.UnitX);
                        spriteBatch.Draw(_iconsSpritesheet, heartPosition, _heartFrame, Color.White);
                    }

                    // Ammo
                    spriteBatch.Draw(_iconsSpritesheet, slotPosition + _ammoPosition, _ammoFrame, Color.White);
                    spriteBatch.DrawString(gameFont, _gameSaves[i].Ammo.ToString(), slotPosition + _ammoTextPosition, _fontColor);

                    // Coins
                    spriteBatch.Draw(_iconsSpritesheet, slotPosition + _coinsPosition, _coinFrame, Color.White);
                    spriteBatch.DrawString(gameFont, _gameSaves[i].Coins.ToString(), slotPosition + _coinsTextPosition, _fontColor);
                }
                else
                {
                    // Empty slot text
                    var emptySlotTextSize = gameFont.MeasureString(EmptySlotText);
                    var emptyPosition     = new Vector2(slotPosition.X + (_slotsPosition[i].Width - emptySlotTextSize.X) / 2,
                                                        slotPosition.Y + (_slotsPosition[i].Height - emptySlotTextSize.Y) / 2);
                    spriteBatch.DrawString(gameFont, EmptySlotText, emptyPosition, _fontColor);
                }
            }

            IconsManager.Instance.DrawRightArrow(spriteBatch, _arrowPosition + _arrowPositionInc * Vector2.UnitY, false);

            var xOffset = SceneManager.Instance.GameFontSmall.MeasureString(ConfirmButtonLabel).X + 30;

            IconsManager.Instance.DrawActionButton(spriteBatch, new Vector2(5, screenSize.Y - 18), false, ConfirmButtonLabel, 1.0f, true);
            IconsManager.Instance.DrawCancelButton(spriteBatch, new Vector2(xOffset, screenSize.Y - 18), false, CancelButtonLabel, 1.0f, true);

            if (_loadingVisible)
            {
                spriteBatch.Draw(_loadingBackgroundTexture, new Rectangle(0, 0, (int)screenSize.X, (int)screenSize.Y),
                                 Color.White * 0.5f);
                _loadingAnimatedSprite.Draw(spriteBatch);
            }

            spriteBatch.End();
        }
Example #24
0
        internal void Draw(SpriteBatch spriteBatch, Camera camera)
        {
            var originalViewport = spriteBatch.GraphicsDevice.Viewport;

            spriteBatch.GraphicsDevice.Viewport = Viewport;
            spriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, null, null, null, null, camera.Transform * ViewportAdapter.GetScaleMatrix()); // FrontToBack

            foreach (var stackView in StackViewsList)
            {
                stackView.Draw(spriteBatch);
            }

            spriteBatch.End();
            spriteBatch.GraphicsDevice.Viewport = originalViewport;
        }