public override void CustomDraw(GameTime gameTime) { base.CustomDraw(gameTime); _spriteBatch.Begin(); for (int x = _resultsFrame.XPos + 16; x < _resultsFrame.XPos + _resultsFrame.Width - 16; x += 16) { for (int y = _resultsFrame.YPos + 16; y < _resultsFrame.YPos + _resultsFrame.Height; y += 16) { _spriteBatch.Draw(_menuBackground, new Vector2(x, y), _backRectangle, Color.Black, 0, Vector2.Zero, 1, SpriteEffects.None, 0.6f); } } _resultsFrame.Draw(screenManager.spriteBatch, gameTime); _resultsText.Draw(gameTime); if (_pressToContinue.IsVisible) { _pressToContinue.Draw(gameTime); } for (int i = 0; i < _progressBars.Length; i++) { _tankSprites[i].Draw(gameTime); _progressBars[i].Draw(_spriteBatch, gameTime); } _spriteBatch.End(); }
public override void CustomDraw(GameTime gameTime) { _currentRotation += 0.03f; _spriteBatch.Begin(); _spriteBatch.DrawString(_font, _helpText, new Vector2(GameSettings.ScreenWidth / 2 - _font.MeasureString(_helpText).X / 2, GameSettings.ScreenHeight * 0.1f), Color.White); for (int i = 0; i < 10; i++) { _tankSprites[i].rotation = _currentRotation; } for (int i = 0; i < 4; i++) { _spriteBatch.DrawString(_font, "Player " + (i + 1), new Vector2(80 + 150 - (_font.MeasureString("Player " + (i + 1)).X / 2) + (i * 300), 200), Color.White); if (_selectedControls[i] != Tank.ControlScheme.Empty) { _spriteBatch.DrawString(_font, _selectedControls[i].ToString(), new Vector2(80 + 150 - (_font.MeasureString(_selectedControls[i].ToString()).X / 2) + (i * 300), 250), Color.White); _spriteBatch.DrawString(_font, "Change color:Left/Right", new Vector2(110 + (i * 300), 450), Color.White); _tankSprites[_selectedTeams[i]].position = new Vector2(80 + (i * 300) + 140, 350); _tankSprites[_selectedTeams[i]].Draw(gameTime); } } _menuFrame.Draw(_spriteBatch, gameTime); _spriteBatch.End(); base.CustomDraw(gameTime); }
public override void CustomDraw(GameTime gameTime) { if (usingSplitScreen) { for (int i = 0; i < _playersRemaining.Count; i++) { screenManager.GraphicsDevice.Viewport = usedViewPorts[i]; float newCameraX = _players[i].camera.Position.X; float newCameraY = _players[i].camera.Position.Y; if (_players[i].camera.Position.X < 0) { newCameraX = 0; } if (_players[i].camera.Position.Y < 0) { newCameraY = 0; } if (_players[i].camera.Position.X + usedViewPorts[i].Width > GameSettings.ScreenWidth) { newCameraX = GameSettings.ScreenWidth - usedViewPorts[i].Width; } if (_players[i].camera.Position.Y + usedViewPorts[i].Height > GameSettings.ScreenHeight) { newCameraY = GameSettings.ScreenHeight - usedViewPorts[i].Height; } _players[i].camera.Position = new Vector2(newCameraX, newCameraY); _spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.NonPremultiplied, SamplerState.PointWrap, null, null, null, _players[i].camera.GetTransformation(screenManager.GraphicsDevice)); PooledObjects.bullets.ForEach(b => b.Draw(_spriteBatch, gameTime)); PooledObjects.tileFragmentClusters.ForEach(fc => fc.Draw(_spriteBatch, gameTime)); _currentMap.Draw(_spriteBatch, gameTime); for (int j = 0; j < numberOfPlayers; j++) { _players[j].Draw(_spriteBatch, gameTime); } _spriteBatch.End(); } screenManager.GraphicsDevice.Viewport = guiViewPort; _spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.NonPremultiplied, SamplerState.PointWrap, null, null, null, camera.GetTransformation(screenManager.GraphicsDevice)); if (_isRoundOver) { _wonText.Draw(_spriteBatch, gameTime); } _guiFrame.Draw(_spriteBatch, gameTime); _spriteBatch.End(); } else { _spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.NonPremultiplied, SamplerState.PointWrap, null, null, null, camera.GetTransformation(screenManager.GraphicsDevice)); PooledObjects.bullets.ForEach(b => b.Draw(_spriteBatch, gameTime)); PooledObjects.tileFragmentClusters.ForEach(fc => fc.Draw(_spriteBatch, gameTime)); PooledObjects.explosions.ForEach(e => e.Draw(_spriteBatch, gameTime)); _powerups.ForEach(x => x.Draw(_spriteBatch, gameTime)); _currentMap.Draw(_spriteBatch, gameTime); for (int i = 0; i < numberOfPlayers; i++) { _players[i].Draw(_spriteBatch, gameTime); } _spriteBatch.End(); _spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.NonPremultiplied, SamplerState.PointWrap, null, null, null, _guiCamera.GetTransformation(screenManager.GraphicsDevice)); _guiFrame.Draw(_spriteBatch, gameTime); for (int i = 0; i < numberOfPlayers; i++) { _players[i].DrawStatsBar(gameTime); } if (_isRoundOver) { _wonText.Draw(_spriteBatch, gameTime); } _timerFont.Draw(gameTime); _spriteBatch.End(); } }