GridPosition
Represents a position in 2D grid coordinates with utility methods for coordinate conversion. Provides POCS implementation of grid positioning logic without Godot dependencies. Supports conversion between world coordinates and grid coordinates, adjacency calculations, and grid-based movement operations. Ported from: godot/addons/grid_building/shared/utils/positioning/gb_positioning_2d_utils.gd
Project: GridPlacement v6.0
Layer: Core
Source: plugins/gameplay/GridPlacement/cs/Core/Types/GridPosition.cs
Namespace: GridPlacement.Core.Grid
Kind: struct
Parsing Method: AST-based (Roslyn) - NOT regex
⚠️ IMPORTANT: This documentation was generated using AST parsing, not regex.
Methods
ToWorldCoordinates
Convert grid position to world coordinates (tile center).
Returns: CoreVector2
ToWorldCoordinates
Convert grid position to world coordinates with custom tile size.
Returns: CoreVector2
Parameters:
CoreVector2 customTileSize
FromWorldCoordinates
Convert world coordinates to grid position.
Returns: GridPosition
Parameters:
CoreVector2 worldPosCoreVector2 tileSize
ManhattanDistanceTo
Get the Manhattan distance to another grid position.
Returns: int
Parameters:
GridPosition other
ChebyshevDistanceTo
Get the Chebyshev distance (king’s move distance) to another grid position.
Returns: int
Parameters:
GridPosition other
IsAdjacentTo
Check if this position is adjacent to another position (including diagonals).
Returns: bool
Parameters:
GridPosition otherbool includeDiagonals
GetAdjacentPositions
Get all adjacent positions (8-directional).
Returns: GridPosition[]
GetOrthogonalPositions
Get orthogonal adjacent positions (4-directional).
Returns: GridPosition[]
MoveInDirection
Move in a cardinal direction.
Returns: GridPosition
Parameters:
CardinalDirection directionint distance
Clamp
Clamp position within a rectangular region.
Returns: GridPosition
Parameters:
GridPosition minGridPosition max
IsWithinRegion
Check if position is within a rectangular region.
Returns: bool
Parameters:
GridPosition minGridPosition max
Equals
Determines whether this instance is equal to another
Returns: bool
Parameters:
GridPosition other
Equals
Returns: bool
Parameters:
object? obj
GetHashCode
Returns: int
ToString
Returns: string
GetDirectionTo
Get the direction to another position.
Returns: CardinalDirection
Parameters:
GridPosition target
GetLineTo
Get all positions in a line from this position to target.
Returns: IEnumerable<GridPosition>
Parameters:
GridPosition target
GetPositionsInRadius
Get positions in a radius around this position.
Returns: IEnumerable<GridPosition>
Parameters:
int radius
GetPositionsInRectangle
Get positions in a rectangle around this position.
Returns: IEnumerable<GridPosition>
Parameters:
int widthint height