33 lines
559 B
Lua
33 lines
559 B
Lua
local utils = require "lib.utils.utils"
|
|
|
|
--- @class Grid
|
|
--- @field __grid {string: any}
|
|
local grid = {}
|
|
grid.__index = grid
|
|
|
|
--- adds a value to the grid
|
|
--- @param value any
|
|
function grid:add(value)
|
|
grid[tostring(value.position)] = value
|
|
end
|
|
|
|
--- @param position Vec3
|
|
function grid:get(position)
|
|
return self.__grid[tostring(position)]
|
|
end
|
|
|
|
--- clears the grid
|
|
function grid:reset()
|
|
self.__grid = {}
|
|
end
|
|
|
|
--- Generates an empty grid
|
|
--- @return Grid
|
|
function grid.new()
|
|
return setmetatable({
|
|
__grid = {}
|
|
}, grid)
|
|
end
|
|
|
|
return grid
|