public bool IsNodeCheck()
        {
            if (node == null || !node.Exists())
            {
                return(false);
            }


            if (settings.SkipBusyNodes)
            {
                if (node.IsBusy())
                {
                    Log("Node busy, skipping...");
                    SkipNode();

                    return(false);
                }
                else
                {
                    ClearSkipNodes();
                }
            }


            var edgePoint = gps.GetNearestPoint(node.X, node.Y, node.Z);
            var distPoint = (edgePoint != null) ? node.Get().dist(edgePoint.x, edgePoint.y, edgePoint.z) : 0;

            if (!InNavMesh(node.Get()) && distPoint > 8)
            {
                IgnoreNode();

                return(false);
            }

            return(true);
        }