public void DrawCreatureBars(SpriteBatch Batch, ClientCreature Creature, Vector2 Offset) { if (Creature.Name != "") { GameSprite Sprite = GameData.GetCreatureSprite(Creature.Outfit.LookType); Vector2 TextSize = UIContext.StandardFont.MeasureString(Creature.Name); Color LifeColor = LifeColorForCreature(Creature); // Put at the center of the sprite Offset.X += Sprite.Width * 16; Offset.Y -= Sprite.Height * 16; // Render offsets are negative Offset.X += Sprite.RenderOffset; Offset.Y += Sprite.RenderOffset; // Render the text Vector2 TextOffset = Offset; // Move it above the health bar TextOffset.X = (int)(TextOffset.X - TextSize.X / 2); TextOffset.Y -= 16; DrawBoldedText(Batch, Creature.Name, TextOffset, false, LifeColor); // Rectangle BlackBar = new Rectangle( (int)(Offset.X - 14), (int)Offset.Y, 28, 4 ); UIContext.Skin.DrawBorderedRectangle(Batch, BlackBar, Color.Black); Rectangle InsideBar = BlackBar.Subtract(new Margin(1)); if (Creature.MaxHealth > 0) InsideBar.Width = InsideBar.Width * Creature.Health / Creature.MaxHealth; UIContext.Skin.DrawBorderedRectangle(Batch, InsideBar, LifeColor); } }