public static Vector2 GetFirstNonWallPos(Vector2 startPos, Vector2 endPos)
{
int distance = 0;
for (int i = 0; i < Manager.MenuManager.CondemnPushDistance; i += 20)
{
var cell = startPos.Extend(endPos, endPos.Distance(startPos) + i);
if (NavMesh.GetCollisionFlags(cell).HasFlag(CollisionFlags.Wall) ||
NavMesh.GetCollisionFlags(cell).HasFlag(CollisionFlags.Building))
{
distance = i - 20;
}
}
return startPos.Extend(endPos, distance + endPos.Distance(startPos));
}