local ____lualib = require("lualib_bundle")
local __TS__Class = ____lualib.__TS__Class
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
local ____exports = {}
local ____hexGrid = require("grid.hexGrid")
local HexGrid = ____hexGrid.HexGrid
local FlatHexGrid = __TS__Class()
FlatHexGrid.name = "FlatHexGrid"
__TS__ClassExtends(FlatHexGrid, HexGrid)
function FlatHexGrid.prototype.____constructor(self, ...)
    HexGrid.prototype.____constructor(self, ...)
    self.positionToGrid = function(____, point)
        local q = 2 / 3 * point.x / self.size
        local r = (-1 / 3 * point.x + math.sqrt(3) / 3 * point.y) / self.size
        return {q = q, r = r}
    end
    self.gridToPosition = function(____, coord)
        local size = self.size
        local x = size * (3 / 2 * coord.q)
        local y = size * (math.sqrt(3) / 2 * coord.q + math.sqrt(3) * coord.r)
        return {x = x, y = y}
    end
end
function FlatHexGrid.prototype.toOffset(self, coord)
    local q = coord.q
    local r = coord.r + (coord.q - self:oddValue(coord.q)) / 2
    return {q = q, r = r}
end
function FlatHexGrid.prototype.toAxial(self, coord)
    local q = coord.q
    local r = coord.r - (coord.q - self:oddValue(coord.q)) / 2
    return {q = q, r = r}
end
____exports.default = FlatHexGrid
return ____exports
