ExperimentalGear/scripts/titlescreen/pages/service/mainmenupage.lua

64 lines
1.7 KiB
Lua

require("common.class")
local ServicePage = require("titlescreen.pages.service.servicepage")
local InputCheckPage = require("titlescreen.pages.service.inputcheckpage")
local ScreenCheckPage = require("titlescreen.pages.service.screencheckpage")
local ColorCheckPage = require("titlescreen.pages.service.colorcheckpage")
local VersionInfoPage = require("titlescreen.pages.service.versioninfopage")
local ServiceLinkField = require("titlescreen.fields.service.servicelinkfield")
local ListField = require("titlescreen.fields.service.listfield")
---@class MainMenuPage: ServicePage
local MainMenuPage = {
__tostring = function() return "MainMenuPage" end,
}
---Create a new MainMenuPage instance
---@param o? table # initial parameters
---@return MainMenuPage
function MainMenuPage:new(o)
o = o or {}
o.title = o.title or "MAIN MENU"
return Inherit(self, o, ServicePage)
end
---Initialize members
---@return MainMenuPage
function MainMenuPage:init()
ServicePage.init(self)
local posX = self.PADDING[1]
local posY = self.PADDING[2]
local list = ListField:new{
posX = posX,
posY = posY,
}:init()
list:addField(ServiceLinkField:new{
label = "INPUT CHECK",
link = InputCheckPage:new():init(),
})
list:addField(ServiceLinkField:new{
label = "SCREEN CHECK",
link = ScreenCheckPage:new():init(),
})
list:addField(ServiceLinkField:new{
label = "COLOR CHECK",
link = ColorCheckPage:new():init(),
})
list:addField(ServiceLinkField:new{
label = "VERSION INFORMATION",
link = VersionInfoPage:new():init(),
})
self:addField(list)
self:refreshFields()
return self
end
return MainMenuPage