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

58 lines
2.0 KiB
Lua
Raw Normal View History

require("common.class")
2022-04-05 17:31:02 +02:00
local ServicePage = require("titlescreen.pages.service.servicepage")
local InputButtonField = require("titlescreen.fields.service.inputbuttonfield")
local InputKnobField = require("titlescreen.fields.service.inputknobfield")
---@class InputCheckPage: ServicePage
2022-04-05 23:53:19 +02:00
local InputCheckPage = {
__tostring = function() return "InputCheckPage" end,
2022-04-05 23:53:19 +02:00
}
---Create a new InputCheckPage instance
---@param o? table # initial parameters
---@return InputCheckPage
function InputCheckPage:new(o)
o = o or {}
o.title = o.title or "INPUT CHECK"
o.footer = o.footer or "BACK BUTTON = EXIT"
return Inherit(self, o, ServicePage)
end
---Initialize members
---@return InputCheckPage
function InputCheckPage:init()
ServicePage.init(self)
self:addField(InputButtonField:new{label="START BUTTON", button=game.BUTTON_STA})
self:addField(InputButtonField:new{label="A BUTTON", button=game.BUTTON_BTA})
self:addField(InputButtonField:new{label="B BUTTON", button=game.BUTTON_BTB})
self:addField(InputButtonField:new{label="C BUTTON", button=game.BUTTON_BTC})
self:addField(InputButtonField:new{label="D BUTTON", button=game.BUTTON_BTD})
self:addField(InputButtonField:new{label="FX L BUTTON", button=game.BUTTON_FXL})
self:addField(InputButtonField:new{label="FX R BUTTON", button=game.BUTTON_FXR})
self:addField(InputKnobField:new{label="ANALOG VOLUME L", knob=0})
self:addField(InputKnobField:new{label="ANALOG VOLUME R", knob=1})
return self
end
---@param button integer # options are under the `game` table prefixed with `BUTTON`
function InputCheckPage:handleButtonInput(button)
local field = self.content[self.selectedIndex]
if field and field.handleButtonInput then
if field:handleButtonInput(button) then
return
end
end
-- default behaviour
if button == game.BUTTON_BCK then
if self.viewHandler then
self.viewHandler:back()
end
return
end
end
2022-04-05 23:53:19 +02:00
return InputCheckPage