Neckrat af792bd2d5 refactor character & grid again
Co-authored-by: Ivan Yuriev <ivanyr44@gmail.com>
2025-08-09 23:22:34 +03:00

37 lines
887 B
Lua

local utils = require "lib/utils"
--- @class Level
--- @field characters Character[]
--- @field characterGrid CharacterGrid
--- @field selector Selector
--- @field camera Camera
local level = {}
level.__index = level
local function new()
return setmetatable({
characters = {},
characterGrid = (require "lib/grid/character").new(30, 30), -- magic numbers for testing purposes only
tileGrid = (require "lib/grid/tile").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
}