/// <summary> /// Draw this screen. /// </summary> public override void Draw(GameTime gameTime) { SpriteBatch spriteBatch = ScreenManager.SpriteBatch; spriteBatch.Begin(); // draw the background images spriteBatch.Draw(backgroundTexture, backgroundPosition, Color.White); spriteBatch.Draw(descriptionAreaTexture, descriptionAreaPosition, Color.White); spriteBatch.Draw(iconTexture, iconPosition, Color.White); // Draw each menu entry in turn. for (int i = 0; i < MenuEntries.Count; i++) { MenuEntry menuEntry = MenuEntries[i]; bool isSelected = IsActive && (i == selectedEntry); menuEntry.Draw(this, isSelected, gameTime); } // draw the description text for the selected entry MenuEntry selectedMenuEntry = SelectedMenuEntry; if ((selectedMenuEntry != null) && !String.IsNullOrEmpty(selectedMenuEntry.Description)) { Vector2 textSize = Fonts.DescriptionFont.MeasureString(selectedMenuEntry.Description); Vector2 textPosition = descriptionAreaTextPosition + new Vector2( (float)Math.Floor((descriptionAreaTexture.Width - textSize.X) / 2), 0f); spriteBatch.DrawString(Fonts.DescriptionFont, selectedMenuEntry.Description, textPosition, Color.White); } // draw the select instruction spriteBatch.Draw(selectTexture, selectPosition, Color.White); spriteBatch.DrawString(Fonts.ButtonNamesFont, "Select", new Vector2( selectPosition.X - Fonts.ButtonNamesFont.MeasureString("Select").X - 5, selectPosition.Y + 5), Color.White); // if we are in-game, draw the back instruction if (Session.IsActive) { spriteBatch.Draw(backTexture, backPosition, Color.White); spriteBatch.DrawString(Fonts.ButtonNamesFont, "Resume", new Vector2(backPosition.X + 55, backPosition.Y + 5), Color.White); } spriteBatch.End(); }
/// <summary> /// Draw this screen. /// </summary> public override void Draw(GameTime gameTime) { SpriteBatch spriteBatch = ScreenManager.SpriteBatch; spriteBatch.Begin(); // draw the background images spriteBatch.Draw(backgroundTexture, backgroundPosition, null, Color.White, 0f, Vector2.Zero, ScaledVector2.DrawFactor, SpriteEffects.None, 0f); spriteBatch.Draw(descriptionAreaTexture, descriptionAreaPosition, null, Color.White, 0f, Vector2.Zero, ScaledVector2.DrawFactor, SpriteEffects.None, 0f); spriteBatch.Draw(iconTexture, iconPosition, null, Color.White, 0f, Vector2.Zero, ScaledVector2.DrawFactor, SpriteEffects.None, 0f); // Draw each menu entry in turn. for (int i = 0; i < MenuEntries.Count; i++) { MenuEntry menuEntry = MenuEntries[i]; bool isSelected = IsActive && (i == selectedEntry); menuEntry.Draw(this, isSelected, gameTime); } // draw the description text for the selected entry MenuEntry selectedMenuEntry = SelectedMenuEntry; if ((selectedMenuEntry != null) && !String.IsNullOrEmpty(selectedMenuEntry.Description)) { Vector2 textSize = Fonts.DescriptionFont.MeasureString(selectedMenuEntry.Description); Vector2 textPosition2 = descriptionAreaTextPosition + new Vector2( (float)Math.Floor((descriptionAreaTexture.Width - textSize.X) / 2), 0f); } // if we are in-game, draw the back instruction if (Session.IsActive) { spriteBatch.Draw(backTexture, backPosition, null, Color.White, 0f, Vector2.Zero, ScaledVector2.DrawFactor, SpriteEffects.None, 0f); string text = "Resume"; Vector2 textPosition = Fonts.GetCenterPositionInButton(Fonts.ButtonNamesFont, text, new Rectangle((int)backPosition.X, (int)backPosition.Y, backTexture.Width, backTexture.Height)); spriteBatch.DrawString(Fonts.ButtonNamesFont, text, textPosition, Color.White); } spriteBatch.End(); }
/// <summary> /// Draws the menu. /// </summary> public override void Draw(GameTime gameTime) { SpriteBatch spriteBatch = ScreenManager.SpriteBatch; spriteBatch.Begin(); // Draw each menu entry in turn. for (int i = 0; i < menuEntries.Count; i++) { MenuEntry menuEntry = menuEntries[i]; bool isSelected = IsActive && (i == selectedEntry); menuEntry.Draw(this, isSelected, gameTime); } spriteBatch.End(); }