private void PickWaypoint()
{
var waypoints = Waypoints.OrderBy(w => Random.Range(0, Waypoints.Length));
Transform waypoint = null;
foreach (var i in waypoints)
{
var path = new NavMeshPath();
_agent.CalculatePath(i.position, path);
if (path.status != NavMeshPathStatus.PathComplete) continue;
waypoint = i;
break;
}
if(waypoint != null)
_agent.SetDestination(waypoint.position);
}