GBGridRotationUtils

Helper function to set a...

sort Weight: 10

Helper function to set a node’s rotation to achieve a target global rotation [param node] Node2D to rotate [param target_global_rotation] Desired global rotation in radians

Version: v5.0.0

STABLE

Inherits: RefCounted
Source: gb_grid_rotation_utils.gd
Parsing: AST-based for maximum accuracy with symbol typing


Methods

degrees_to_cardinal

Signature: static degrees_to_cardinal(degrees: float) -> CardinalDirection

[return] CardinalDirection enum value

Returns: CardinalDirection

Static: true

Parameters:

  • degrees: float

cardinal_to_degrees

Signature: static cardinal_to_degrees(direction: CardinalDirection) -> float

[return] Rotation in degrees (0, 90, 180, or 270)

Returns: float

Static: true

Parameters:

  • direction: CardinalDirection

rotate_clockwise

Signature: static rotate_clockwise(current: CardinalDirection) -> CardinalDirection

[return] Next CardinalDirection clockwise

Returns: CardinalDirection

Static: true

Parameters:

  • current: CardinalDirection

rotate_counter_clockwise

Signature: static rotate_counter_clockwise(current: CardinalDirection) -> CardinalDirection

[return] Previous CardinalDirection counter-clockwise

Returns: CardinalDirection

Static: true

Parameters:

  • current: CardinalDirection

rotate_node_clockwise

Signature: static rotate_node_clockwise(node: Node2D, map: TileMapLayer, increment_degrees: float = 90.0, snap_to_grid: bool = true) -> float

[return] New rotation angle in degrees (0-360 range)

Returns: float

Static: true

Parameters:

  • node: Node2D
  • map: TileMapLayer
  • increment_degrees: float (optional, default: 90.0)
  • snap_to_grid: bool (optional, default: true)

rotate_node_counter_clockwise

Signature: static rotate_node_counter_clockwise(node: Node2D, map: TileMapLayer, increment_degrees: float = 90.0, snap_to_grid: bool = true) -> float

[return] New rotation angle in degrees (0-360 range)

Returns: float

Static: true

Parameters:

  • node: Node2D
  • map: TileMapLayer
  • increment_degrees: float (optional, default: 90.0)
  • snap_to_grid: bool (optional, default: true)

set_node_direction

Signature: static set_node_direction(node: Node2D, direction: CardinalDirection, map: TileMapLayer, snap_to_grid: bool = true) -> void

[param snap_to_grid] Whether to snap position to grid after rotation (default true)

Returns: void

Static: true

Parameters:

  • node: Node2D
  • direction: CardinalDirection
  • map: TileMapLayer
  • snap_to_grid: bool (optional, default: true)

get_direction_tile_delta

Signature: static get_direction_tile_delta(direction: CardinalDirection) -> Vector2i

[return] Vector2i tile delta for the direction

Returns: Vector2i

Static: true

Parameters:

  • direction: CardinalDirection

get_opposite_direction

Signature: static get_opposite_direction(direction: CardinalDirection) -> CardinalDirection

[return] Opposite CardinalDirection (180 degrees)

Returns: CardinalDirection

Static: true

Parameters:

  • direction: CardinalDirection

is_horizontal

Signature: static is_horizontal(direction: CardinalDirection) -> bool

[return] True if direction is East or West

Returns: bool

Static: true

Parameters:

  • direction: CardinalDirection

is_vertical

Signature: static is_vertical(direction: CardinalDirection) -> bool

[return] True if direction is North or South

Returns: bool

Static: true

Parameters:

  • direction: CardinalDirection

direction_to_string

Signature: static direction_to_string(direction: CardinalDirection) -> String

[return] String representation (“North”, “East”, “South”, “West”)

Returns: String

Static: true

Parameters:

  • direction: CardinalDirection

_snap_node_to_grid

Signature: static _snap_node_to_grid(node: Node2D, map: TileMapLayer) -> void

[param map] TileMapLayer providing grid alignment

Returns: void

Static: true

Parameters:

  • node: Node2D
  • map: TileMapLayer

_normalize_degrees

Signature: static _normalize_degrees(degrees: float) -> float

[return] Normalized angle in 0-360 range

Returns: float

Static: true

Parameters:

  • degrees: float

_set_node_global_rotation

Signature: static _set_node_global_rotation(node: Node2D, target_global_rotation: float) -> void

[param target_global_rotation] Desired global rotation in radians

Returns: void

Static: true

Parameters:

  • node: Node2D
  • target_global_rotation: float