using UnityEngine;
using UnityEngine.AI;
using static UnityEditor.PlayerSettings;

public static class NavMeshUtils {
  public static bool IsWalkable(Vector3 origin, Vector3 velocity, float navMeshCheckRadius = 0.2f) {

    Vector3 target = origin + velocity * Time.fixedDeltaTime;

    //// 1. Physics obstacle check (optional, but good to avoid wall collisions)
    //if (Physics.Linecast(origin, target, obstacleMask))
    //  return false;

    // 2. Check if point is still on the NavMesh
    if (!NavMesh.SamplePosition(target, out var hit, navMeshCheckRadius, NavMesh.AllAreas))
      return false;

    return true;
    return (hit.position - target).sqrMagnitude < 0.04f;
  }
}