/// <summary>
        ///     Updates each radar in the array based on the given navigator heading and the goal location.
        /// </summary>
        /// <param name="heading">The heading of the navigator to which the radar array is attached.</param>
        /// <param name="location">The location of the goal.</param>
        /// <param name="targetLocation">The location of the target (goal).</param>
        internal void UpdateRadarArray(double heading, DoublePoint location, DoublePoint targetLocation)
        {
            var target = targetLocation;

            // Rotate the target with respect to the heading of the navigator
            target.RotatePoint(-heading, location);

            // Offset by the navigator's current location
            target.X -= location.X;
            target.Y -= location.Y;

            // Get the angle between the navigator and the target
            var navigatorTargetAngle = DoublePoint.CalculateAngleFromOrigin(target);

            // Update every radar in the array based on target alignment
            foreach (var radar in _radars)
            {
                radar.UpdateRadar(navigatorTargetAngle);
            }
        }