class_name AdtTileLocalPosition
extends RefCounted

## Immutable position relative to the north-west corner of one ADT tile.
## East and south offsets are normally in `[0, ADT_TILE_SIZE_YARDS)`; height
## remains in the canonical vertical space.

var east_yards: float:
	get:
		return _east_yards

var height_yards: float:
	get:
		return _height_yards

var south_yards: float:
	get:
		return _south_yards

var _east_yards: float
var _height_yards: float
var _south_yards: float


## Creates a tile-local position without clamping boundary values.
func _init(east_yards_value: float, height_yards_value: float, south_yards_value: float) -> void:
	_east_yards = east_yards_value
	_height_yards = height_yards_value
	_south_yards = south_yards_value
