lines-lua/levelhandler.lua
2025-06-25 17:46:31 +03:00

30 lines
737 B
Lua

require 'makegrid'
-- Controls switching between levels
---@class LevelHandler
---@field levels string[]
---@field current integer
LevelHandler = {
levels = {
'test2', 'test'
},
current = 1,
}
-- Switches level to next or cycles if it was the last level
---@return Grid
function LevelHandler:next()
self.current = self.current + 1
if self.current > #self.levels then
self.current = 1
end
local levelPath = string.format('levels/%s', self.levels[self.current])
return MakeGrid( require( levelPath ) )
end
-- Returns first level
---@return Grid
function LevelHandler:first()
local levelPath = string.format('levels/%s', self.levels[1])
return MakeGrid( require( levelPath ) )
end