Neckrat d07d26680c implemented character movement & initial selector
Co-authored-by: Ivan Yuriev <ivanyr44@gmail.com>
2025-08-09 02:32:15 +03:00

36 lines
755 B
Lua

local utils = require "lib/utils"
--- @class Level
--- @field characters Character[]
--- @field positionGrid Grid
--- @field selector Selector
--- @field camera Camera
local level = {}
level.__index = level
local function new()
return setmetatable({
characters = {},
positionGrid = (require "lib/grid").new(30, 30), -- magic numbers for testing purposes only
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)
end
function level:draw()
utils.each(self.characters, function(el)
el:draw()
end)
end
return {
new = new
}