Grid Placement

GBPositioning2DUtils

AUTO-GENERATED (GDScript) API entry

AUTO-GENERATED FILE — DO NOT EDIT MANUALLY

Source: utils/gb_positioning_2d_utils.gd

Version: 5.0

class_name: GBPositioning2DUtils extends: RefCounted

Signals

(none)

Exports

(none)

Methods

  • get_tile_from_global_position(global_position: Vector2, map: TileMapLayer) -> Vector2i
  • move_to_tile_center(node: Node2D, tile: Vector2i, map: TileMapLayer) -> Vector2i
    • IMPORTANT: In Godot 4.x, TileMapLayer.map_to_local() returns tile CENTER, not top-left!
  • move_to_closest_valid_tile_center(node: Node2D, target_tile: Vector2i, source: Node2D, map: TileMapLayer, settings: GridTargetingSettings) -> Vector2i
  • limit_tile_to_max_distance(source: Node2D, target_tile: Vector2i, map: TileMapLayer, settings: GridTargetingSettings, region: Rect2i = Rect2i()
  • is_region_valid(region: Rect2i) -> bool
  • snap_tile_to_region(tile: Vector2i, region: Rect2i) -> Vector2i
  • get_tile_from_node_position(node: Node2D, map: TileMapLayer) -> Vector2i
  • _limit_using_astar(source: Node2D, target_tile: Vector2i, map: TileMapLayer, astar_grid: AStarGrid2D, max_steps: int, region: Rect2i) -> Variant
  • _limit_via_step(source: Node2D, target_tile: Vector2i, map: TileMapLayer, max_steps: int, diagonal_mode: int, region: Rect2i) -> Vector2i
  • _step_toward(current: Vector2i, target: Vector2i, diagonal_mode: int) -> Vector2i
  • move_node_by_tiles(node: Node2D, p_tile_delta: Vector2i, target_map: TileMapLayer) -> Vector2i
  • convert_screen_to_world_position(screen_pos: Vector2, viewport: Viewport) -> Vector2
  • viewport_center_to_world_position(viewport: Viewport) -> Vector2
    • Reuse the correct coordinate conversion logic from convert_screen_to_world_position
  • move_node_to_tile_at_viewport_center(node: Node2D, map: TileMapLayer, viewport: Viewport) -> Vector2i
  • direction_to_tile_delta(direction: Vector2, threshold: float = 0.33) -> Vector2i