/// <summary> /// Draws the menu. /// </summary> public override void DrawContent(GameTime gameTime, SpriteBatch spriteBatch) { GraphicsDevice graphics = ScreenManager.GraphicsDevice; SpriteFont font = ScreenManager.Font; Viewport viewport = ScreenManager.GraphicsDevice.Viewport; //objects rectangle int x = titleRectangle.X; int y = titleRectangle.Y + titleRectangle.Height + screenOffset; int width = titleRectangle.Width; int height = (3 * ((4 * viewport.Height) / 5)) / 7 - screenOffset; Rectangle objectsRectangle = new Rectangle(x, y, width, height); spriteBatch.Draw(Costam.redFolder, objectsRectangle, new Color(TransitionAlpha, TransitionAlpha, TransitionAlpha)); //controls rectangle's //keyboard rectangle x = titleRectangle.X; y = objectsRectangle.Y + objectsRectangle.Height + screenOffset; width = titleRectangle.Width / 2 - screenOffset / 2; height = objectsRectangle.Height; Rectangle keyboardRectangle = new Rectangle(x, y, width, height); spriteBatch.Draw(Costam.redFolder, keyboardRectangle, new Color(TransitionAlpha, TransitionAlpha, TransitionAlpha)); //controller rectangle x = keyboardRectangle.X + keyboardRectangle.Width + screenOffset; y = keyboardRectangle.Y; width = keyboardRectangle.Width; height = keyboardRectangle.Height; Rectangle controlerRectangle = new Rectangle(x, y, width, height); spriteBatch.Draw(Costam.redFolder, controlerRectangle, new Color(TransitionAlpha, TransitionAlpha, TransitionAlpha)); //OBJECTS int objectsOffset = 30; width = (objectsRectangle.Width - 6 * objectsOffset) / 5; height = objectsRectangle.Height - (2 * objectsOffset) - (2 * GetHeight()); //bloodcell x = objectsRectangle.X + objectsOffset; y = objectsRectangle.Y + objectsRectangle.Height - objectsOffset - height - GetHeight(); Rectangle bloodCellRectangle = new Rectangle(x, y, width, height); spriteBatch.Draw(Costam.bloodCell2D, bloodCellRectangle, new Color(TransitionAlpha, TransitionAlpha, TransitionAlpha)); drawUpDownRectangle(spriteBatch, "AVOID", "Blood Cell", bloodCellRectangle); //virus x = bloodCellRectangle.X + bloodCellRectangle.Width + objectsOffset; y = bloodCellRectangle.Y; Rectangle virusRectangle = new Rectangle(x, y, width, height); spriteBatch.Draw(Costam.virus2D, virusRectangle, new Color(TransitionAlpha, TransitionAlpha, TransitionAlpha)); drawUpDownRectangle(spriteBatch, "DESTROY", "Virus", virusRectangle); //gold diamond x = virusRectangle.X + virusRectangle.Width + objectsOffset; y = virusRectangle.Y; Rectangle goldDiamondRectangle = new Rectangle(x, y, width, height); spriteBatch.Draw(Costam.goldDiamond2D, goldDiamondRectangle, new Color(TransitionAlpha, TransitionAlpha, TransitionAlpha)); drawUpDownRectangle(spriteBatch, "", "Gold", goldDiamondRectangle); //blue diamond x = goldDiamondRectangle.X + goldDiamondRectangle.Width + objectsOffset; y = goldDiamondRectangle.Y; Rectangle blueDiamondRectangle = new Rectangle(x, y, width, height); spriteBatch.Draw(Costam.blueDiamond2D, blueDiamondRectangle, new Color(TransitionAlpha, TransitionAlpha, TransitionAlpha)); drawUpDownRectangle(spriteBatch, "COLLECT DIAMONDS", "Red", blueDiamondRectangle); //green diamond x = blueDiamondRectangle.X + blueDiamondRectangle.Width + objectsOffset; y = blueDiamondRectangle.Y; Rectangle greenDiamondRectangle = new Rectangle(x, y, width, height); spriteBatch.Draw(Costam.greemDiamond2D, greenDiamondRectangle, new Color(TransitionAlpha, TransitionAlpha, TransitionAlpha)); drawUpDownRectangle(spriteBatch, "", "Green", greenDiamondRectangle); //controls //keyboard string keyboard = "Keyboard"; x = keyboardRectangle.X + keyboardRectangle.Width / 2 - GetWidth(keyboard) / 2; y = keyboardRectangle.Y; spriteBatch.DrawString(font, keyboard, new Vector2(x, y), Color.Gold * TransitionAlpha, 0, vector00, 1f, SpriteEffects.None, 0); x = keyboardRectangle.X + objectsOffset; y = keyboardRectangle.Y + keyboardRectangle.Height / 4; width = keyboardRectangle.Width / 2 - 2 * objectsOffset; height = keyboardRectangle.Height / 2; Rectangle arrowsRectangle = new Rectangle(x, y, width, height); spriteBatch.Draw(Costam.ARROWS, arrowsRectangle, new Color(TransitionAlpha, TransitionAlpha, TransitionAlpha)); drawUpDownRectangle(spriteBatch, "", "Move", arrowsRectangle); width = arrowsRectangle.Width / 2; height = arrowsRectangle.Height / 2; x = keyboardRectangle.X + keyboardRectangle.Width - objectsOffset - width; y = arrowsRectangle.Y + arrowsRectangle.Height / 4; Rectangle attackRectangle = new Rectangle(x, y, width, height); spriteBatch.Draw(Costam.SPACE_ALT, attackRectangle, new Color(TransitionAlpha, TransitionAlpha, TransitionAlpha)); string attack = "Attack"; drawUpDownRectangle(spriteBatch, "", attack, attackRectangle); //controller string controller = "Controller"; x = controlerRectangle.X + controlerRectangle.Width / 2 - GetWidth(controller) / 2; y = controlerRectangle.Y; spriteBatch.DrawString(font, controller, new Vector2(x, y), Color.Gold * TransitionAlpha, 0, vector00, 1f, SpriteEffects.None, 0); x = controlerRectangle.X + objectsOffset; y = controlerRectangle.Y + controlerRectangle.Height / 4; width = controlerRectangle.Width / 2 - 2 * objectsOffset; height = controlerRectangle.Height / 2; Rectangle dpadRectangle = new Rectangle(x, y, width, height); spriteBatch.Draw(Costam.DPAD_LR, dpadRectangle, new Color(TransitionAlpha, TransitionAlpha, TransitionAlpha)); drawUpDownRectangle(spriteBatch, "", "Move", dpadRectangle); width = arrowsRectangle.Width / 2; height = arrowsRectangle.Height / 2; x = controlerRectangle.X + controlerRectangle.Width - objectsOffset - width; y = dpadRectangle.Y + dpadRectangle.Height / 4; Rectangle aAttackRectangle = new Rectangle(x, y, width, height); spriteBatch.Draw(Costam.A, aAttackRectangle, new Color(TransitionAlpha, TransitionAlpha, TransitionAlpha)); drawUpDownRectangle(spriteBatch, "", attack, aAttackRectangle); //x = jumpRectangle.X; //y = jumpRectangle.Y + jumpRectangle.Height; //width = jumpRectangle.Width; //height = jumpRectangle.Height; //Rectangle attackRectangle = new Rectangle(x, y, width, height); //spriteBatch.Draw(Costam.B, attackRectangle, new Color(TransitionAlpha, TransitionAlpha, TransitionAlpha)); //x = attackRectangle.X + attackRectangle.Width; //y = attackRectangle.Y + attackRectangle.Height / 2 - GetHeight() / 2; //spriteBatch.DrawString(font, attack, new Vector2(x, y), Color.Gold * TransitionAlpha, 0, vector00, 1f, SpriteEffects.None, 0); // Draw each menu entry in turn. UpdateMenuEntryLocations(controlerRectangle.Y + controlerRectangle.Height + screenOffset); for (int i = 0; i < MenuEntries.Count; i++) { MenuEntry menuEntry = MenuEntries[i]; bool isSelected = IsActive && (i == selectedEntry); menuEntry.Draw(this, isSelected, gameTime); } }