Neckrat 091e960ebd trying to write selector again
Co-authored-by: Ivan Yuriev <ivanyr44@gmail.com>
2025-08-10 00:28:59 +03:00

41 lines
954 B
Lua

local utils = require "lib/utils"
--- @class Level
--- @field size Vec3
--- @field characters Character[]
--- @field characterGrid CharacterGrid
--- @field selector Selector
--- @field camera Camera
local level = {}
level.__index = level
local function new()
local size = Vec3 { 30, 30 } -- magic numbers for testing purposes only
return setmetatable({
size = size,
characters = {},
characterGrid = (require "lib/grid/character").new(size.x, size.y),
tileGrid = (require "lib/grid/tile").new(size.x, size.y),
selector = (require "lib/selector").new(),
camera = (require "lib/camera").new()
}, level)
end
function level:update(dt)
utils.each(self.characters, function(el)
el:update(dt)
end)
self.camera:update(dt)
self.selector:update(dt)
end
function level:draw()
utils.each(self.characters, function(el)
el:draw()
end)
end
return {
new = new
}