Added levels menu
This commit is contained in:
parent
fd1e314ec9
commit
e04b8e523e
3 changed files with 49 additions and 7 deletions
47
menu/levels.lua
Normal file
47
menu/levels.lua
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
require 'menu.state'
|
||||
require 'button'
|
||||
require 'text'
|
||||
|
||||
local common = require 'menu.common'
|
||||
|
||||
local size, margin = 60, 30
|
||||
local levelSize = Point:new( size, size )
|
||||
local yOffset = 160
|
||||
|
||||
local levelsPerLine = 8
|
||||
local levelCount = #LevelHandler.levels
|
||||
|
||||
local buttons = {}
|
||||
|
||||
for i=1,levelCount do
|
||||
local x = (size + margin) * (i % levelsPerLine)
|
||||
local y = (size + margin) * math.floor(i / levelsPerLine) + yOffset
|
||||
local button = Button:new(
|
||||
Point:new(x, y),
|
||||
levelSize,
|
||||
tostring(i),
|
||||
nil,
|
||||
nil,
|
||||
function()
|
||||
GameGrid = LevelHandler:indexed(i)
|
||||
Menu.updateCellSize()
|
||||
Menu.current_state = MenuStateIndex.hidden
|
||||
end
|
||||
)
|
||||
table.insert(buttons, button)
|
||||
end
|
||||
|
||||
local exitToMenuButton = Button:new(
|
||||
Point:new( 240, 40 ),
|
||||
common.buttonSize,
|
||||
'Return to menu',
|
||||
nil,
|
||||
nil,
|
||||
function()
|
||||
Menu.current_state = MenuStateIndex.start
|
||||
end
|
||||
)
|
||||
|
||||
table.insert(buttons, exitToMenuButton)
|
||||
|
||||
return MenuState:new(buttons)
|
||||
Loading…
Add table
Add a link
Reference in a new issue