float Distance(ITileMapNode start, ITileMapNode goal, bool checkObj, bool goalCheckObj)
                    {
                        if (Invalid(start, checkObj) || Invalid(goal, goalCheckObj))
                        {
                            return(float.MaxValue);
                        }

                        return(Vector3.Distance(start.WorldPosition, goal.WorldPosition));
                    }
                    public bool Invalid(ITileMapNode node, bool checkObj)
                    {
                        if (node == null || node.Invalid)
                        {
                            return(true);
                        }

                        if (checkObj && node.HasTileObj())
                        {
                            return(true);
                        }

                        return(false);
                    }
 float HeuristicCostEstimate(ITileMapNode start, ITileMapNode goal, bool checkObj, bool goalCheckObj)
 {
     return(Distance(start, goal, checkObj, goalCheckObj));
 }
 public bool Invalid(ITileMapNode node)
 {
     return(algorithm.Invalid(node, false));
 }
 public bool Invalid(ITileMapNode node)
 {
     return(pathFinder.Invalid(node));
 }