/// <summary> /// Creates a GUI element to show information about the selected Person and their abilities. /// </summary> /// <param name="CharacterLifeRect">Game screen area to draw the portrait, life and energy bars, any AbilityEffect icons, and level information</param> /// <param name="abilityAreaRect">Area to display the ability buttons, as well as the experience bar if the selected person is a hero.</param> public CharacterBox(Rectangle CharacterLifeRect, Rectangle abilityAreaRect) { Options = new TextButton[4]; HealthBox = CharacterLifeRect; ExpBarBox = abilityAreaRect; Rectangle buttonRect = new Rectangle(ExpBarBox.X + 10, ExpBarBox.Y + 10, (ExpBarBox.Width - 25) / 4, ExpBarBox.Height - 50); interfaceHolder = InterfaceTextureHolder.Holder; combatHolder = CombatTextureHolder.Holder; Options[0] = new TextButton(buttonRect, interfaceHolder.ButtonSprites[(int)ConstantHolder.ButtonBackgrounds.Exit].copySprite(), buttonZero, interfaceHolder.Fonts[(int)ConstantHolder.Fonts.defaultFont], "Yo, dawg."); buttonRect.X += (ExpBarBox.Width - 25) / 4 + 5; Options[1] = new TextButton(buttonRect, interfaceHolder.ButtonSprites[(int)ConstantHolder.ButtonBackgrounds.Exit].copySprite(), buttonOne, interfaceHolder.Fonts[(int)ConstantHolder.Fonts.defaultFont], "Sup, son."); buttonRect.X += (ExpBarBox.Width - 25) / 4 + 5; Options[2] = new TextButton(buttonRect, interfaceHolder.ButtonSprites[(int)ConstantHolder.ButtonBackgrounds.Exit].copySprite(), buttonTwo, interfaceHolder.Fonts[(int)ConstantHolder.Fonts.defaultFont], "I heard you liek mudkips"); buttonRect.X += (ExpBarBox.Width - 25) / 4 + 5; Options[3] = new TextButton(buttonRect, interfaceHolder.ButtonSprites[(int)ConstantHolder.ButtonBackgrounds.Exit].copySprite(), buttonThree, interfaceHolder.Fonts[(int)ConstantHolder.Fonts.defaultFont], "Bro do you even lift?"); healthPanelBackground = interfaceHolder.GUISprites[(int)ConstantHolder.GUIMemberImages.PortraitBackground].copySprite(); abilityPanelBackground = interfaceHolder.GUISprites[(int)ConstantHolder.GUIMemberImages.AbilityBackground].copySprite(); mouseoverBackground = interfaceHolder.GUISprites[(int)ConstantHolder.GUIMemberImages.MouseOverBackground].copySprite(); healthPanelFrame = interfaceHolder.GUISprites[(int)ConstantHolder.GUIMemberImages.PortraitFrame].copySprite(); abilityPanelFrame = interfaceHolder.GUISprites[(int)ConstantHolder.GUIMemberImages.AbilityFrame].copySprite(); mouseOverFrame = interfaceHolder.GUISprites[(int)ConstantHolder.GUIMemberImages.MouseOverFrame].copySprite(); healthBar = interfaceHolder.GUISprites[(int)ConstantHolder.GUIMemberImages.HealthBar].copySprite(); healthBarM = interfaceHolder.GUISprites[(int)ConstantHolder.GUIMemberImages.HealthBar].copySprite(); energyBar = interfaceHolder.GUISprites[(int)ConstantHolder.GUIMemberImages.EnergyBar].copySprite(); energyBarM = interfaceHolder.GUISprites[(int)ConstantHolder.GUIMemberImages.EnergyBar].copySprite(); experienceBar = interfaceHolder.GUISprites[(int)ConstantHolder.GUIMemberImages.ExperienceBar].copySprite(); }
/// <summary> /// Creates a button with text on it. /// </summary> /// <param name="position">Top left corner of button screen position, as well as the dimensions of the button.</param> /// <param name="spriteSheet">Background sprites for up, down, over.</param> /// <param name="function">Function performed when clicked</param> /// <param name="font">Font of text on button</param> /// <param name="text">Text on button</param> /// <param name="bClickable">Sets whether the button will accept input at the start</param> /// <param name="bActive">Sets whether the button will appear.</param> /// <returns>The button created</returns> public TextButton MakeTextButton(Rectangle position, Sprite spriteSheet, Button.ButtonFunction function, SpriteFont font, String text = "", bool bClickable = true, bool bActive = true) { TextButton newButton = new TextButton(position, spriteSheet, function, font, text, bClickable, bActive); buttons.Add(newButton); return newButton; }