private int FindJumpableDistance(int jumpDistance, Vector2 pos, Vector2 dir) { for (int distance = 1; distance <= jumpDistance; ++distance) { if (!map.QueryTilePassability((int)Mathf.Round(pos.x + dir.x * distance), (int)Mathf.Round(pos.y + dir.y * distance))) { return(distance - 1); } } return(jumpDistance); }