project-witchy/imperium-porcorum.love/scenes/debugmenu/menus.lua

95 lines
2.5 KiB
Lua

local menu = {}
local ListBox = require "core.modules.menusystem.listbox"
local MenuObject = ListBox:extend()
function MenuObject:new(scene, name)
local screenwidth, screenheight = core.screen:getDimensions()
local height, width, x, y
height = screenheight - (88 + 24)
width = 240
x = screenwidth/2 - width/2
y = screenheight/2 - height/2 + 8
MenuObject.super.new(self, scene.menusystem, name, x, y, width, height, 5)
self.scene = scene
self.isActive = false
self.isVisible = false
self.textbox = game.gui.newTextBox("assets/sprites/gui/textbox/bluebox.png", width, height)
self.depth = -10
end
function MenuObject:draw()
love.graphics.draw(self.textbox, self.x, self.y)
MenuObject.super.draw(self)
end
menu.Main = MenuObject:extend()
menu.Debug = MenuObject:extend()
menu.Levels = MenuObject:extend()
menu.Bonus = MenuObject:extend()
menu.Pigs = MenuObject:extend()
menu.Options = MenuObject:extend()
menu.newMain = require "scenes.debugmenu.mainmenu"
local widgets = require "scenes.debugmenu.widgets"
local leveldata = require "datas.levels"
function menu.Main:new(scene)
menu.Main.super.new(self, scene, "mainmenu")
widgets.Menu(self,"Level Select", "levels")
widgets.Menu(self,"Debug Mode", "debug")
widgets.Menu(self,"Options", "mainmenu")
widgets.Menu(self,"Bonus", "mainmenu")
widgets.Menu(self,"Back", "main")
self:getFocus()
end
function menu.Debug:new(scene)
menu.Debug.super.new(self, scene, "debug")
widgets.Menu(self,"Manage Pigs", "debugpigs")
widgets.Menu(self,"Manage Inventory", "debugitems")
widgets.Menu(self,"Back", "mainmenu")
self:setCancelWidget()
end
function menu.Levels:new(scene)
menu.Levels.super.new(self, scene, "levels")
for i,v in ipairs(leveldata) do
widgets.Mission(self,v, 1, i)
end
widgets.Menu(self,"Back", "mainmenu")
self:setCancelWidget()
end
function menu.Pigs:new(scene)
menu.Pigs.super.new(self, scene, "debugpigs")
widgets.AddPig(self)
for i,v in ipairs(game.pigmanager.data) do
widgets.Menu(self,i .. "- " .. v.name .. " the " .. v.race, 1, i)
end
widgets.Menu(self,"Back", "debug")
self:setCancelWidget()
end
function menu.Options:new(scene)
menu.Options.super.new(self, scene, "options", -1)
widgets.Save(self)
widgets.Load(self)
widgets.Menu(self,"Back", "mainmenu")
self:setCancelWidget()
end
function menu.Create(scene)
menu.newMain(scene)
menu.Main(scene)
menu.Debug(scene)
menu.Levels(scene)
menu.Pigs(scene)
menu.Options(scene)
end
return menu