local commons = require "scenes.debug.commons.menu" local menu = {} menu.commons = commons menu.ExitWidget = commons.DebugWidget:extend() menu.ShowBackgroundWidget = commons.DebugWidget:extend() menu.SaveWidget = commons.DebugWidget:extend() menu.LoadWidget = commons.DebugWidget:extend() menu.SubMenuWidget = commons.SubMenuWidget:extend() -- ExitWidget function menu.ExitWidget:new(scene, menuName) menu.ExitWidget.super.new(self, scene, menuName, "Exit") end function menu.ExitWidget:action() love.event.quit("000") end -- ShowBackground function menu.ShowBackgroundWidget:new(scene, menuName) menu.ShowBackgroundWidget.super.new(self, scene, menuName, "Show Background") end function menu.ShowBackgroundWidget:action() self.scene.menusystem:deactivate() end -- Save game function menu.SaveWidget:new(scene, menuName) menu.SaveWidget.super.new(self, scene, menuName, "Save game") end function menu.SaveWidget:action() game:write() end -- Save game function menu.LoadWidget:new(scene, menuName, slot) menu.LoadWidget.super.new(self, scene, menuName, "Load file " .. slot) self.slot = slot end function menu.LoadWidget:action() game:read(self.slot) end -- Submenu function menu.SubMenuWidget:new(scene, menu_name, newmenu, name, panel, panelArgument) menu.SubMenuWidget.super.new(self, scene, menu_name, newmenu, name) self.panel = panel self.panelArgument = panelArgument end function menu.SubMenuWidget:action() self.scene.menusystem:switchMenu(self.newmenu) self.scene.panel = self.panel(self.panelArgument) end return menu