// if the other node is not on the same row or column as this node, return false public bool IsDiagonal(Node2D <W> to) { int dx = Math.Abs(X - to.X), dy = Math.Abs(Y - to.Y); return(dx > 0 && dy > 0); }
public abstract int GetTravelCost(Node2D <W> node);
protected abstract bool CanGoConditions(Node2D <W> from, Node2D <W> to);
public bool IsOutOfBounds(Node2D <W> node) { return(node.X < 0 || node.X >= SizeX || node.Y < 0 || node.Y >= SizeY); }