Exemplo n.º 1
0
    private void UpdatePath(Vector3 Target)
    {
        i = 0;

        NavMesh.CalculatePath(transform.position, Target, NavMesh.AllAreas, NavMeshPath);

        if (NavMeshPath.status != NavMeshPathStatus.PathInvalid)
        {
            MoveTargetOnNavMesh();
        }
        else
        {
            pointsPairs = System_Waypoints.GetPointsClose(Target);
            while (i < pointsPairs.Length && NavMeshPath.status == NavMeshPathStatus.PathInvalid)
            {
                NavMesh.CalculatePath(transform.position, pointsPairs[i].Value.position, NavMesh.AllAreas, NavMeshPath);
                i += 1;
            }
            MoveTargetOnNavMesh();
        }
    }