2022-04-03 19:43:50 +02:00
|
|
|
require("common.class")
|
2022-06-29 00:35:52 +02:00
|
|
|
local ServicePage = require("api.page.servicepage")
|
2022-07-12 01:43:14 +02:00
|
|
|
local ListField = require("titlescreen.common.listfield")
|
|
|
|
local InputButtonField = require("titlescreen.service.inputbuttonfield")
|
|
|
|
local InputKnobField = require("titlescreen.service.inputknobfield")
|
2022-04-03 04:59:43 +02:00
|
|
|
|
|
|
|
---@class InputCheckPage: ServicePage
|
2022-04-05 23:53:19 +02:00
|
|
|
local InputCheckPage = {
|
2022-05-06 01:02:30 +02:00
|
|
|
__name = "InputCheckPage",
|
2022-04-05 23:53:19 +02:00
|
|
|
}
|
2022-04-03 04:59:43 +02:00
|
|
|
|
|
|
|
---Create a new InputCheckPage instance
|
2022-05-06 01:02:30 +02:00
|
|
|
---@param params? InputCheckPage # initial parameters
|
2022-04-03 04:59:43 +02:00
|
|
|
---@return InputCheckPage
|
2022-05-06 01:02:30 +02:00
|
|
|
function InputCheckPage.new(params)
|
|
|
|
params = params or {}
|
2022-04-03 04:59:43 +02:00
|
|
|
|
2022-05-06 01:02:30 +02:00
|
|
|
params.title = params.title or "INPUT CHECK"
|
|
|
|
params.footer = params.footer or "BACK BUTTON = EXIT"
|
2022-04-11 18:47:26 +02:00
|
|
|
|
2022-05-06 01:02:30 +02:00
|
|
|
local self = CreateInstance(InputCheckPage, params, ServicePage)
|
2022-04-27 02:40:22 +02:00
|
|
|
|
|
|
|
local list = ListField.new()
|
|
|
|
list:addField(InputButtonField.new{label="START BUTTON", button=game.BUTTON_STA})
|
|
|
|
list:addField(InputButtonField.new{label="A BUTTON", button=game.BUTTON_BTA})
|
|
|
|
list:addField(InputButtonField.new{label="B BUTTON", button=game.BUTTON_BTB})
|
|
|
|
list:addField(InputButtonField.new{label="C BUTTON", button=game.BUTTON_BTC})
|
|
|
|
list:addField(InputButtonField.new{label="D BUTTON", button=game.BUTTON_BTD})
|
|
|
|
list:addField(InputButtonField.new{label="FX L BUTTON", button=game.BUTTON_FXL})
|
|
|
|
list:addField(InputButtonField.new{label="FX R BUTTON", button=game.BUTTON_FXR})
|
|
|
|
list:addField(InputKnobField.new{label="ANALOG VOLUME L", knob=0})
|
|
|
|
list:addField(InputKnobField.new{label="ANALOG VOLUME R", knob=1})
|
2022-04-15 04:54:30 +02:00
|
|
|
list:refreshFields()
|
|
|
|
|
2022-05-06 01:02:30 +02:00
|
|
|
self:addField(list)
|
|
|
|
self:refreshFields()
|
2022-04-15 04:54:30 +02:00
|
|
|
|
2022-05-06 01:02:30 +02:00
|
|
|
return self
|
2022-04-03 04:59:43 +02:00
|
|
|
end
|
|
|
|
|
2022-04-12 23:45:28 +02:00
|
|
|
---@param button integer # options are under the `game` table prefixed with `BUTTON`
|
2022-04-03 19:43:50 +02:00
|
|
|
function InputCheckPage:handleButtonInput(button)
|
|
|
|
local field = self.content[self.selectedIndex]
|
|
|
|
if field and field.handleButtonInput then
|
2022-04-12 23:45:28 +02:00
|
|
|
if field:handleButtonInput(button) then
|
|
|
|
return
|
|
|
|
end
|
2022-04-03 19:43:50 +02:00
|
|
|
end
|
|
|
|
|
2022-04-12 23:45:28 +02:00
|
|
|
-- default behaviour
|
|
|
|
if button == game.BUTTON_BCK then
|
|
|
|
if self.viewHandler then
|
|
|
|
self.viewHandler:back()
|
2022-04-03 19:43:50 +02:00
|
|
|
end
|
2022-04-12 23:45:28 +02:00
|
|
|
return
|
2022-04-03 19:43:50 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2022-04-05 23:53:19 +02:00
|
|
|
return InputCheckPage
|