public static bool CanRayCast(Vector3 vStartLocation, Vector3 vDestination, NavCellFlags NavType = NavCellFlags.None, bool UseSearchGridProvider = false)
{
if (!NavType.Equals(NavCellFlags.None))
return ZetaDia.Physics.Raycast(vStartLocation, vDestination, NavType); //False means nothing hit
if (UseSearchGridProvider)
{
Vector2 hitVector;
if (vStartLocation.Z >= vDestination.Z)
return !Navigator.SearchGridProvider.Raycast(vStartLocation.ToVector2(), vDestination.ToVector2(), out hitVector);
return !Navigator.SearchGridProvider.Raycast(vDestination.ToVector2(), vStartLocation.ToVector2(), out hitVector);
}
return !Navigator.Raycast(vStartLocation, vDestination); //True means nothing hit
}