/// <summary>
        /// Draws a black line from point A to point B.
        /// </summary>
        /// <param name="pointA">The point A.</param>
        /// <param name="pointB">The point B.</param>
        /// <param name="width">The width.</param>
        /// <param name="layerDepth">The layer depth.</param>
        /// <param name="color">The color.</param>
        public static void DrawLine(Vector2 pointA, Vector2 pointB, float width, float layerDepth, Color color)
        {
            // Check that all points are valid.
            if (pointA == null || pointB == null ||
                float.IsNaN(pointA.X) || float.IsNaN(pointA.Y) ||
                float.IsNaN(pointB.X) || float.IsNaN(pointB.Y))
            {
                return;
            }

            drawLineDiff.X     = pointA.X - pointB.X;
            drawLineDiff.Y     = pointA.Y - pointB.Y;
            drawLineScale.X    = drawLineDiff.Length() / 20f;
            drawLineScale.Y    = width * 0.05f;
            drawLinePosition.X = (pointA.X + pointB.X) / 2f;
            drawLinePosition.Y = (pointA.Y + pointB.Y) / 2f;
            float angle = (RotationHelper.Vector2ToAngle(drawLineDiff.X, drawLineDiff.Y) + MathHelper.PiOver2) % MathHelper.TwoPi;

            // If the slope is steeper than 1, we need to mirror the angle
            // around the verticle due to the 0-2pi singularity of the Vector2ToAngle funciton.
            if (pointA.X > pointB.X)
            {
                angle = MathHelper.TwoPi - angle;
            }

            float ratio = GetRatio();

            GameWorld.spriteBatch.Draw(
                TextureStatic.Get("blank"),
                drawLinePosition * ratio,
                null,
                color,
                angle,
                TextureStatic.GetOrigin("blank"),
                drawLineScale * ratio,
                SpriteEffects.None,
                GetLayerDepthScale(layerDepth));
        }