Grid Placement

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 worldPos
  • CoreVector2 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 other
  • bool 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 direction
  • int distance

Clamp

Clamp position within a rectangular region.

Returns: GridPosition

Parameters:

  • GridPosition min
  • GridPosition max

IsWithinRegion

Check if position is within a rectangular region.

Returns: bool

Parameters:

  • GridPosition min
  • GridPosition 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 width
  • int height