/// <summary> /// Draws the tooltip /// </summary> /// <param name="avail">Is the attached ContextButton available?</param> public void Draw(bool avail) { if (Available != avail || !compiled) { Available = avail; } float size = Gui.MeasureString(Gui.BigFont, Compiled).Y; float height = Gui.BigFont.MeasureString("A").Y; float top = 450 - size; Vector2 pos = new Vector2(555, top); Gui.Batch.Draw(TooltipBox, new Rectangle((int)pos.X, (int)pos.Y, 226, (int)size), Color.White); Gui.Batch.Draw(TooltipCorner, pos - new Vector2(8, 8), null, Color.White, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0f); Gui.Batch.Draw(TooltipCorner, new Vector2(pos.X - 8, pos.Y + size), null, Color.White, 0f, Vector2.Zero, 1f, SpriteEffects.FlipVertically, 0f); Gui.Batch.Draw(TooltipCorner, new Vector2(pos.X + 226, pos.Y - 8), null, Color.White, 0f, Vector2.Zero, 1f, SpriteEffects.FlipHorizontally, 0f); Gui.Batch.Draw(TooltipCorner, new Vector2(pos.X + 226, pos.Y + size), null, Color.White, 0f, Vector2.Zero, 1f, SpriteEffects.FlipVertically | SpriteEffects.FlipHorizontally, 0f); Gui.Batch.Draw(TooltipEdge, new Rectangle((int)pos.X, (int)pos.Y - 8, 226, 8), null, Color.White, 0f, Vector2.Zero, SpriteEffects.None, 0f); Gui.Batch.Draw(TooltipEdge, new Rectangle((int)pos.X - 8, (int)pos.Y + (int)size, (int)size, 8), null, Color.White, -MathHelper.PiOver2, Vector2.Zero, SpriteEffects.None, 0f); Gui.Batch.Draw(TooltipEdge, new Rectangle((int)pos.X, (int)pos.Y + (int)size, 226, 8), null, Color.White, 0f, Vector2.Zero, SpriteEffects.FlipVertically, 0f); Gui.Batch.Draw(TooltipEdge, new Rectangle((int)pos.X + 226 + 8, (int)pos.Y, (int)size, 8), null, Color.White, MathHelper.PiOver2, Vector2.Zero, SpriteEffects.None, 0f); Gui.DrawString(Gui.BigFont, Compiled, pos); if (Available) { if (Icon1 != null) { Icon1.Draw(new Vector2(555, top + height)); } if (Icon2 != null) { Icon2.Draw(new Vector2(635, top + height)); } if (Icon3 != null) { Icon3.Draw(new Vector2(715, top + height)); } if (Icon4 != null) { Icon4.Draw(new Vector2(555, top + height * 2)); } if (Icon5 != null) { Icon5.Draw(new Vector2(635, top + height * 2)); } if (Icon6 != null) { Icon6.Draw(new Vector2(715, top + height * 2)); } } }
/// <summary> /// Draws the IconNumber in the desired spot. Pos is specified /// by the Tooltip's IconNumber slots. /// </summary> /// <param name="pos">The position to draw the NW corner of the icon</param> public void Draw(Vector2 pos) { Gui.Batch.Draw(Icon, pos, Color.White); Gui.DrawString(Gui.BigFont, Number.ToString(), new Vector2(pos.X + Icon.Width + 2, pos.Y)); }