GBGridRotationUtils
AUTO-GENERATED FILE – DO NOT EDIT MANUALLY
Grid-aware object rotation utilities for 2D grid-based games.
Source File: addons/grid_building/utils/gb_grid_rotation_utils.gd
Extends: RefCounted
Public Methods
degrees_to_cardinal
Flags: static
Convert rotation degrees to cardinal direction
degrees Rotation in degrees (will be normalized to 0-360 range)
[return] CardinalDirection enum value
cardinal_to_degrees
Flags: static
Convert cardinal direction to rotation degrees
direction CardinalDirection enum value
[return] Rotation in degrees (0, 90, 180, or 270)
rotate_clockwise
Flags: static
Get the next cardinal direction (clockwise rotation)
current Current CardinalDirection
[return] Next CardinalDirection clockwise
rotate_counter_clockwise
Flags: static
Get the previous cardinal direction (counter-clockwise rotation)
current Current CardinalDirection
[return] Previous CardinalDirection counter-clockwise
rotate_node_clockwise
Flags: static
Rotate a Node2D clockwise by a specified increment while maintaining grid alignment
node Node2D to rotate (must be on a grid tile)
map TileMapLayer providing grid alignment
increment_degrees Rotation increment in degrees (default 90.0 for 4-direction)
- Use 90.0 for 4-direction (RTS-style)
- Use 45.0 for 8-direction (isometric with diagonals)
- Use 60.0 for 6-direction (hex-style)
- Use 30.0 for 12-direction
- Or any custom angle
snap_to_gridWhether to snap position to grid after rotation (default true) [return] New rotation angle in degrees (0-360 range)
rotate_node_counter_clockwise
Flags: static
Rotate a Node2D counter-clockwise by a specified increment while maintaining grid alignment
node Node2D to rotate (must be on a grid tile)
map TileMapLayer providing grid alignment
increment_degrees Rotation increment in degrees (default 90.0 for 4-direction)
- Use 90.0 for 4-direction (RTS-style)
- Use 45.0 for 8-direction (isometric with diagonals)
- Use 60.0 for 6-direction (hex-style)
- Use 30.0 for 12-direction
- Or any custom angle
snap_to_gridWhether to snap position to grid after rotation (default true) [return] New rotation angle in degrees (0-360 range) Rotate a Node2D counter-clockwise by a specified increment while maintaining grid alignmentnodeNode2D to rotate (must be on a grid tile)mapTileMapLayer providing grid alignmentincrement_degreesRotation increment in degrees (default 90.0 for 4-direction) - Use 90.0 for 4-direction (RTS-style)
- Use 45.0 for 8-direction (isometric with diagonals)
- Use 60.0 for 6-direction (hex-style)
- Use 30.0 for 12-direction
- Or any custom angle
snap_to_gridWhether to snap position to grid after rotation (default true) [return] New rotation angle in degrees (0-360 range)
set_node_direction
Flags: static
Set a Node2D to a specific cardinal direction with grid alignment
node Node2D to rotate
direction Target CardinalDirection
map TileMapLayer providing grid alignment
snap_to_grid Whether to snap position to grid after rotation (default true)
get_direction_tile_delta
Flags: static
Get a tile delta vector for movement in a cardinal direction
direction CardinalDirection to move in
[return] Vector2i tile delta for the direction
get_opposite_direction
Flags: static
Get the opposite cardinal direction
direction Input CardinalDirection
[return] Opposite CardinalDirection (180 degrees)
is_horizontal
Flags: static
Check if a direction is horizontal (East or West)
direction CardinalDirection to check
[return] True if direction is East or West
is_vertical
Flags: static
Check if a direction is vertical (North or South)
direction CardinalDirection to check
[return] True if direction is North or South
direction_to_string
Flags: static
Convert cardinal direction to a human-readable string
direction CardinalDirection to convert
[return] String representation (“North”, “East”, “South”, “West”)
Private Methods
_snap_node_to_grid
Flags: static, private
Snap a node to the nearest grid tile center using existing positioning utilities
node Node2D to snap to grid
map TileMapLayer providing grid alignment
_normalize_degrees
Flags: static, private
Normalize degrees to 0-360 range
degrees Angle in degrees (can be negative or > 360)
[return] Normalized angle in 0-360 range
_set_node_global_rotation
Flags: static, private
Helper function to set a node’s rotation to achieve a target global rotation
node Node2D to rotate
target_global_rotation Desired global rotation in radians