sonic-radiance/sonic-radiance.love/scenes/menus/mainmenu/menu.lua
2022-01-06 14:34:45 +01:00

45 lines
1.6 KiB
Lua

local Parent = require "game.modules.gui.fancymenu"
local MainMenu = Parent:extend()
local defTransitions = require "birb.modules.transitions"
local radTransitions = require "game.modules.transitions"
local MENU_X, MENU_Y = 24, 48
local MENU_W = 424/3
local MENU_ITEM_NUMBER = 8
function MainMenu:new()
MainMenu.super.new(self, "mainmenu", MENU_X, MENU_Y, MENU_W, MENU_ITEM_NUMBER, false)
self:addItem("Launch game", "left", function() self:launchGame() end)
if (core.debug.active) then
self:addItem("Debug Menu", "left", function() self:launchDebug() end)
end
self:addItem("Options", "left", function() self:launchOptions() end)
self:addItem("Return to title", "left", function() self:returnToTitle() end, "back")
self:setCancelWidget()
self:addItem("Exit game", "left", function() self:exitGame() end)
self:getFocus()
end
function MainMenu:launchGame()
core.screen:startTransition(defTransitions.circle, defTransitions.default, function() scenes.overworld() end, 424/2, 240/2)
core.scenemanager.currentScene:hideOverlay()
end
function MainMenu:launchDebug()
core.screen:startTransition(defTransitions.default, defTransitions.default, function() scenes.menus.debug.menu() end, 424/2, 240/2)
end
function MainMenu:launchOptions()
core.screen:startTransition(defTransitions.default, defTransitions.default, function() scenes.menus.options() end, 424/2, 240/2)
end
function MainMenu:returnToTitle()
core.screen:startTransition(defTransitions.circle, radTransitions.borders, function() scenes.menus.title(true) end, 424/2, 240/2)
end
function MainMenu:exitGame()
love.event.quit("000")
end
return MainMenu