local Grid = require "core.modules.menusystem.grid" local MenuObject = Grid:extend() local Widget = require "core.modules.menusystem.widgets" local MainWidget = Widget.Base:extend() local MapWidget = MainWidget:extend() local ExitWidget = MainWidget:extend() local OptionsWidget = MainWidget:extend() local DIMVALUE = .5 function MenuObject:new(scene) self.scene = scene local screenwidth, screenheight = core.screen:getDimensions() local menuwidth = screenwidth - 32 * 2 local menuheight = screenheight - 48 - 16 local colNumber, lineNumber colNumber = math.floor(menuwidth / 16) lineNumber = math.floor(menuheight / 16) menuwidth = colNumber * 16 menuheight = lineNumber * 16 print(colNumber, lineNumber) MenuObject.super.new(self, scene.menusystem, "main", 32, 48, menuwidth, menuheight, colNumber, lineNumber) self.isVisible = true self.isActive = true MapWidget(self) MainWidget(self, "MANAGE PIGS") MainWidget(self, "BONUS") OptionsWidget(self) ExitWidget(self) self:addSlot(1, 0, 0, 13, 6) self:addSlot(2, 13, 0, 6, 6) self:addSlot(3, 19, 0, 7, 6) self:addSlot(4, 13, 6, 13, 3) self:addSlot(5, 13, 9, 13, 3) end function MainWidget:new(menusystem, label) MainWidget.super.new(self, menusystem) self.scene = menusystem.scene self.label = label or "" end function MainWidget:redrawCanvas() self.width, self.height = self.menu:getWidgetSize(self.id) self.textbox = game.gui.newTextBox("assets/sprites/gui/textbox/bluebox.png", self.width, self.height) MainWidget.super.redrawCanvas(self) end function MainWidget:drawCanvas() love.graphics.draw(self.textbox, 0, 0) if self.height >= 64 then love.graphics.printf(self.label, 0, 8, self.width, "center") else love.graphics.printf(self.label, 64, 16, self.width, "left") end end function MainWidget:draw(x, y) if self.menu.isActive == false then love.graphics.setColor(DIMVALUE, DIMVALUE, DIMVALUE, 1) else utils.graphics.resetColor() end if self.canvas.texture ~= nil then love.graphics.draw(self.canvas.texture, x, y) end utils.graphics.resetColor() end function MapWidget:new(menusystem) MapWidget.super.new(self, menusystem, "WORLD MAP") end function MapWidget:action() scenes.WorldMap() end function ExitWidget:new(menusystem) MapWidget.super.new(self, menusystem, "EXIT GAME") end function ExitWidget:action() love.event.quit() end function OptionsWidget:new(menusystem) OptionsWidget.super.new(self, menusystem, "OPTIONS") end function OptionsWidget:action() self.scene:selectMenu("mainmenu") end return MenuObject