// // Licensed under the MIT License. See LICENSE file in the project root for full license information. // namespace MUnique.OpenMU.Pathfinding; /// /// A heuristic which takes the maximum distance value between the x-axis or the y-axis. /// internal class MaximumDistanceOfXorYHeuristic : IHeuristic { /// public int HeuristicEstimateMultiplier { get; set; } /// public int CalculateHeuristicDistance(Point location, Point target) { return this.HeuristicEstimateMultiplier * Math.Max(Math.Abs(location.X - target.X), Math.Abs(location.Y - target.Y)); } }