scene/mainmenu: port menu to new menusystem
This commit is contained in:
parent
44d5a8aa59
commit
98e5467e35
|
@ -1,70 +1,26 @@
|
|||
local DebugMenu = Object:extend()
|
||||
local ListBox = require "core.modules.menus.listbox"
|
||||
|
||||
local MenuObject = ListBox:extend()
|
||||
local Widgets = require "scenes.debugmenu.widgets"
|
||||
|
||||
function DebugMenu:new()
|
||||
self.menuID = 1
|
||||
self.menuValue = 0
|
||||
self.label = ""
|
||||
menus:reset()
|
||||
self.menu = TextMenu(0, 88, "medium", 6)
|
||||
self.menu:centerText(480)
|
||||
self.menu.focus = true
|
||||
menus:addMenu(self.menu)
|
||||
self:selectMenu(self.menuID)
|
||||
self.description = "Hello World, i'm a test message for the description system :D"
|
||||
self.previousCursor = 1
|
||||
function MenuObject:new(scene, name)
|
||||
local height, width, x, y
|
||||
height = 240 - 88 - 16
|
||||
width = 240
|
||||
x = 88
|
||||
y = 240/2 - height/2
|
||||
|
||||
DebugMenu.super.new(self, scene.menusystem, name, x, y, width, height, 3)
|
||||
self.scene = scene
|
||||
|
||||
self.isActive = false
|
||||
self.isVisible = false
|
||||
|
||||
local font = self.controller.assets.fonts["medium"]
|
||||
end
|
||||
|
||||
function DebugMenu:refreshMenu()
|
||||
self:selectMenu(self.menuID, self.menuValue)
|
||||
function MenuObject:draw()
|
||||
PauseMenu.super.draw(self)
|
||||
end
|
||||
|
||||
function DebugMenu:selectMenu(id, menuValue)
|
||||
self.menuID = id
|
||||
self.menuValue = menuValue or 1
|
||||
self.menu:empty()
|
||||
if (id == 1) then
|
||||
self.label = "Imperium Porcorum"
|
||||
--self.menu:addWidget(Widgets.Menu(self,"Story Mode", 1))
|
||||
self.menu:addWidget(Widgets.Menu(self,"Level Select",2))
|
||||
self.menu:addWidget(Widgets.Menu(self,"Debug Mode",3))
|
||||
self.menu:addWidget(Widgets.Menu(self,"Options",6))
|
||||
self.menu:addWidget(Widgets.Menu(self,"Bonus",1))
|
||||
self.menu:addWidget(Widgets.Exit(self))
|
||||
elseif (id == 2) then
|
||||
self.label = "Select a Level"
|
||||
for i,v in ipairs(datas.levels) do
|
||||
self.menu:addWidget(Widgets.Menu(self,v.realm .. " - " .. v.name, 4, i))
|
||||
end
|
||||
self.menu:addWidget(Widgets.Menu(self,"Back",1))
|
||||
self.menu:setLastWidgetCancel()
|
||||
elseif (id == 3) then
|
||||
self.label = "Manage your save data"
|
||||
self.menu:addWidget(Widgets.Menu(self,"Manage Pigs",5))
|
||||
self.menu:addWidget(Widgets.Menu(self,"Manage Inventory",1))
|
||||
self.menu:addWidget(Widgets.Menu(self,"Back",1))
|
||||
self.menu:setLastWidgetCancel()
|
||||
elseif (id == 4) then
|
||||
self.label = "Select your Mission"
|
||||
for i,v in ipairs(datas.levels[self.menuValue].missions) do
|
||||
self.menu:addWidget(Widgets.Mission(self,v.missionName, self.menuValue, i))
|
||||
end
|
||||
self.menu:addWidget(Widgets.Menu(self,"Back",2))
|
||||
self.menu:setLastWidgetCancel()
|
||||
elseif (id == 5) then
|
||||
self.label = "Select a pig to edit"
|
||||
self.menu:addWidget(Widgets.AddPig(self))
|
||||
for i,v in ipairs(save.data.pigs) do
|
||||
self.menu:addWidget(Widgets.Menu(self,i .. "- " .. v.name .. " the " .. v.race, 1, i))
|
||||
end
|
||||
self.menu:addWidget(Widgets.Menu(self,"Back",3))
|
||||
self.menu:setLastWidgetCancel()
|
||||
elseif (id == 6) then
|
||||
self.menu:addWidget(Widgets.Save(self))
|
||||
self.menu:addWidget(Widgets.Load(self))
|
||||
self.menu:addWidget(Widgets.Menu(self,"Back",1))
|
||||
self.menu:setLastWidgetCancel()
|
||||
end
|
||||
end
|
||||
|
||||
return DebugMenu
|
||||
return MenuObject
|
||||
|
|
|
@ -1,38 +1,42 @@
|
|||
local Widgets = {}
|
||||
Widgets.Menu = Widget:extend()
|
||||
Widgets.Exit = Widget:extend()
|
||||
Widgets.Mission = Widget:extend()
|
||||
Widgets.AddPig = Widget:extend()
|
||||
Widgets.Save = Widget:extend()
|
||||
Widgets.Load = Widget:extend()
|
||||
local WidgetBase = require "core.modules.menusystem.widgets"
|
||||
local MainMenuWidget = WidgetBase.Text:extend()
|
||||
|
||||
function Widgets.Menu:new(menusystem, label, menuID, menuValue)
|
||||
Widgets.Menu.super.new(self)
|
||||
function MainMenuWidget:new(menu, name)
|
||||
self.scene = menu.scene
|
||||
font = self.scene.assets.fonts["medium"]
|
||||
|
||||
MainMenuWidget.super.new(self, menu, font, name)
|
||||
end
|
||||
|
||||
local Widgets = {}
|
||||
Widgets.Menu = MainMenuWidget:extend()
|
||||
Widgets.Exit = MainMenuWidget:extend()
|
||||
Widgets.Mission = MainMenuWidget:extend()
|
||||
Widgets.AddPig = MainMenuWidget:extend()
|
||||
Widgets.Save = MainMenuWidget:extend()
|
||||
Widgets.Load = MainMenuWidget:extend()
|
||||
|
||||
function Widgets.Menu:new(menu, name, menuID)
|
||||
self.menuID = menuID
|
||||
self.menuValue = menuValue or 1
|
||||
self.label = label
|
||||
self.menusystem = menusystem
|
||||
Widgets.Menu.super.new(self, menu, name)
|
||||
end
|
||||
|
||||
function Widgets.Menu:action()
|
||||
self.menusystem:selectMenu(self.menuID, self.menuValue)
|
||||
self.menusystem:selectMenu(self.menuID)
|
||||
end
|
||||
|
||||
----
|
||||
|
||||
function Widgets.Exit:new(menussytem)
|
||||
Widgets.Exit.super.new(self)
|
||||
self.label = "Exit"
|
||||
self.menusystem = menusystem
|
||||
function Widgets.Exit:new(menu)
|
||||
Widgets.Exit.super.new(self, menu, "Exit")
|
||||
end
|
||||
|
||||
function Widgets.Exit:action()
|
||||
love.event.quit()
|
||||
end
|
||||
|
||||
function Widgets.Mission:new(menussytem, name, levelID, missionID)
|
||||
Widgets.Mission.super.new(self)
|
||||
self.label = name
|
||||
function Widgets.Mission:new(menu, name, levelID, missionID)
|
||||
Widgets.Mission.super.new(self, menu, name)
|
||||
self.menusystem = menusystem
|
||||
self.levelID = levelID
|
||||
self.missionID = missionID
|
||||
|
@ -42,10 +46,9 @@ function Widgets.Mission:action()
|
|||
Gamestate.switch(stateLevel, self.levelID, self.missionID)
|
||||
end
|
||||
|
||||
function Widgets.AddPig:new(menusystem)
|
||||
Widgets.AddPig.super.new(self)
|
||||
function Widgets.AddPig:new(menu)
|
||||
Widgets.AddPig.super.new(self, "Add Pig")
|
||||
self.label = "Add Pig"
|
||||
self.menusystem = menusystem
|
||||
end
|
||||
|
||||
function Widgets.AddPig:action()
|
||||
|
@ -53,19 +56,16 @@ function Widgets.AddPig:action()
|
|||
self.menusystem:refreshMenu()
|
||||
end
|
||||
|
||||
function Widgets.Load:new(menusystem)
|
||||
Widgets.Load.super.new(self)
|
||||
self.label = "Load Game"
|
||||
self.menusystem = menusystem
|
||||
function Widgets.Load:new(menu)
|
||||
Widgets.Load.super.new(self, menu, "Load Game")
|
||||
end
|
||||
|
||||
function Widgets.Load:action()
|
||||
save:reload()
|
||||
end
|
||||
|
||||
function Widgets.Save:new(menusystem)
|
||||
Widgets.Save.super.new(self)
|
||||
self.label = "Save Game"
|
||||
function Widgets.Save:new(menu)
|
||||
Widgets.Save.super.new(self, menu, "Save Game")
|
||||
self.menusystem = menusystem
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue