33 lines
566 B
Lua
33 lines
566 B
Lua
local utils = require "lib/utils"
|
|
local camera = require "lib/camera"
|
|
|
|
--- @class Level
|
|
--- @field characters Character[]
|
|
--- @field camera Camera
|
|
local level = {}
|
|
level.__index = level
|
|
|
|
local function new()
|
|
return setmetatable({
|
|
characters = {},
|
|
camera = 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
|
|
}
|