GBGridRotationUtils
Helper function to set a...
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
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: Node2Dmap: TileMapLayerincrement_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: Node2Dmap: TileMapLayerincrement_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: Node2Ddirection: CardinalDirectionmap: TileMapLayersnap_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: Node2Dmap: 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: Node2Dtarget_global_rotation: float