//Draw Methods public void Draw(SpriteBatch spriteBatch, Model.StaticFonts staticFonts) { int txtXPad = 10; int txtYPad = 10; Rectangle btnRect = rectControl; btnRect.X = (int)vectorPos.X; btnRect.Y = (int)vectorPos.Y; float textWidth = staticFonts._courierNew.MeasureString(this.strControlText).Length(); if (textWidth > rectControl.Width) { rectControl.Width = Convert.ToInt32(textWidth + txtXPad + txtXPad); } //Display Button Image spriteBatch.Draw(this.imgControl, rectControl, Color.White); //Display Button Text Vector2 textVector = new Vector2(this.vectorPos.X + txtXPad, this.vectorPos.Y + txtYPad); spriteBatch.DrawString(staticFonts._courierNew, this.strControlText, textVector, Color.Black); }
public void displayRadioButtonControlsInMenu(SpriteBatch spriteBatch, Model.StaticFonts staticFonts, List <Controls.FancyRadioButtonsControl> menuRadioButtonControls) { foreach (Controls.FancyRadioButtonsControl curRadioButtonControl in menuRadioButtonControls) { if (!curRadioButtonControl._isNull) { //Display Radio Button Control int individgiButtonCount = curRadioButtonControl.strControlText.Count; float buttonX = curRadioButtonControl.vectorPos.X; float buttonY = curRadioButtonControl.vectorPos.Y; float pixelButtonPadding = curRadioButtonControl.pxlHeightBetweenButtons; int index = 0; foreach (KeyValuePair <string, string> kvp in curRadioButtonControl.strControlText) { Vector2 curBtnVector = new Vector2(buttonX, buttonY); Texture2D curBtnTexture; //Display Button Image if (curRadioButtonControl._selectedIndex == index) { curBtnTexture = curRadioButtonControl.imgControlChecked; } else { curBtnTexture = curRadioButtonControl.imgControlUnchecked; } //Display Button Image spriteBatch.Draw(curBtnTexture, curBtnVector, Color.White); //Display Button Text Vector2 textVector = new Vector2(curBtnVector.X + 10, curBtnVector.Y + 10); spriteBatch.DrawString(staticFonts._courierNew, kvp.Key, textVector, Color.Black); //Bump Down the next button (If there is one!) buttonY += pixelButtonPadding + curBtnTexture.Height; index++; } //Display Button Image //spriteBatch.Draw(curRadioButtonControl.imgControl, curRadioButtonControl.vectorPos, Color.White); //Display Button Text //Vector2 textVector = new Vector2(curRadioButtonControl.vectorPos.X + 10, curRadioButtonControl.vectorPos.Y + 10); //spriteBatch.DrawString(courierNew, curRadioButtonControl.strControlText, textVector, Color.Black); } } }
//Draw Commands public void Draw(SpriteBatch spriteBatch, Model.StaticFonts staticFonts) { //Display Menu Image spriteBatch.Draw(this.imgControl, this.rectControl, Color.White); //Display Menu Header Vector2 textVector = new Vector2(this.vectorPos.X + 10, this.vectorPos.Y + 10); spriteBatch.DrawString(staticFonts._courierNew, this.strControlHeader, textVector, Color.Black); }
public void displayButtonsInMenu(SpriteBatch spriteBatch, Model.StaticFonts staticFonts, List <Controls.FancyButtonControl> curMenuButtons) { foreach (Controls.FancyButtonControl curButton in curMenuButtons) { if (!curButton._isNull) { curButton.Draw(spriteBatch, staticFonts); } } }
public static float getTextHeight(String text, Model.StaticFonts staticFonts) { float rtnHeight = 0; //string[] arryLineBreaks = text.Split('\n'); rtnHeight = staticFonts._courierNew.MeasureString(text).Y; return(rtnHeight); }
public void displayButtonsInMenu(SpriteBatch spriteBatch, Model.StaticFonts staticFonts, List <Controls.FancyButtonControl> menuButtons) { //Vector2 firstPlanetVector = new Vector2(this.vectorPos.X + 10, this.vectorPos.Y + 50); foreach (Controls.FancyButtonControl curButton in menuButtons) { if (!curButton._isNull) { //curButton.vectorPos.Y = firstPlanetVector.Y; curButton.Draw(spriteBatch, staticFonts); } //firstPlanetVector.Y += 160; } }
//Methods public void loadStartMenuContent(Model.StaticTextureImages staticTextures, Model.StaticFonts staticFonts) { //Start Menu Button List List <Controls.FancyButtonControl> menuButtons = new List <Controls.FancyButtonControl>(); // if (curMouseState.X > 172 && curMouseState.X < 308) //{ // if (curMouseState.Y > 153 && curMouseState.Y < 182) // {//Clicked new game // if (curMouseState.Y > 279 && curMouseState.Y < 317) //{//Clicked Settings //if (curMouseState.Y > 359 && curMouseState.Y < 388) //{//Clicked Exit // this.Exit(); //} ////Get New Game Button Settings Vector2 curButtonVector = new Vector2(172, 153); Rectangle curButtonRect = new Rectangle(172, 153, 130, 50); ////Add the New Game Button menuButtons.Add(new GalacticConquest.Controls.FancyButtonControl("btnNewGame", staticTextures._buttonTexture, curButtonVector, curButtonRect, "New Game")); //Add the Settings Button curButtonVector = new Vector2(172, 279); curButtonRect = new Rectangle(172, 279, 130, 50); menuButtons.Add(new GalacticConquest.Controls.FancyButtonControl("btnGameSettings", staticTextures._buttonTexture, curButtonVector, curButtonRect, "Settings")); //Add the Exit Button curButtonVector = new Vector2(172, 359); curButtonRect = new Rectangle(172, 359, 130, 50); menuButtons.Add(new GalacticConquest.Controls.FancyButtonControl("btnExitGame", staticTextures._buttonTexture, curButtonVector, curButtonRect, "Exit")); Vector2 headerVector = new Vector2(100, 20); _startMenu = new Controls.StartMenuControl("Galactic Conquest", staticFonts._courierNew, headerVector, staticTextures._imgBackground, new Vector2(0, 0), menuButtons); }
//Add /n line breaks to make text look justified. public static String parseText(String text, int textWidth, Model.StaticFonts staticFonts) { String line = String.Empty; String returnString = String.Empty; String[] wordArray = text.Split(' '); foreach (String word in wordArray) { if (staticFonts._courierNew.MeasureString(line + word).Length() > textWidth) { returnString = returnString + line + '\n'; line = String.Empty; } line = line + word + ' '; } return(returnString + line); }
public void displayActiveMenuControls(SpriteBatch spriteBatch, Model.StaticFonts staticFonts) { foreach (Controls.FancyMenuControl curControl in activeStartMenuMenus) { if (!curControl._isNull) { //spriteBatch.Begin(); curControl.Draw(spriteBatch, staticFonts); //Display Menu Buttons displayButtonsInMenu(spriteBatch, staticFonts, curControl.menuButtons); //Display Meny Radio Button Controls displayRadioButtonControlsInMenu(spriteBatch, staticFonts, curControl.menuRadioButtonControls); // spriteBatch.End(); } } }
//Add /n line breaks to make text look justified. And Cut off any excess text public static String parseTextWidthHeight(String text, int textWidth, int textHeight, Model.StaticFonts staticFonts) { String line = String.Empty; String returnString = String.Empty; String[] wordArray = text.Split(' '); Vector2 fontMeasurments = staticFonts._courierNew.MeasureString(text); foreach (String word in wordArray) { if (staticFonts._courierNew.MeasureString(line + word).Length() > textWidth) { returnString = returnString + line + '\n'; line = String.Empty; if (staticFonts._courierNew.MeasureString(returnString).Y + 20 > textHeight) { break; } } line = line + word + ' '; } returnString = returnString + line; float fontHeight = fontMeasurments.Y; return(returnString); }
//Draw Commands public void Draw(SpriteBatch spriteBatch, Model.StaticFonts staticFonts) { }