Neckrat e65a078fb6 рай эпилептика
Co-authored-by: Ivan Yuriev <ivanyr44@gmail.com>
2025-08-11 02:50:41 +03:00

41 lines
901 B
Lua

local utils = require "lib.utils.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").new(),
selector = (require "lib/selector").new(),
camera = (require "lib/camera").new()
}, level)
end
function level:update(dt)
self.characterGrid:reset()
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
}