106 lines
3.3 KiB
Lua
106 lines
3.3 KiB
Lua
LUI.UIBindButton = {}
|
|
LUI.UIBindButton.GamepadButton = function ( f1_arg0, f1_arg1 )
|
|
if f1_arg0:handleGamepadButton( f1_arg1 ) then
|
|
return true
|
|
elseif f1_arg0.m_ownerController ~= nil and f1_arg0.m_ownerController ~= f1_arg1.controller then
|
|
DebugPrint( "Item Exclusive to controller " .. f1_arg1.controller )
|
|
return false
|
|
elseif f1_arg1.down == true then
|
|
local f1_local0 = false
|
|
local f1_local1 = {
|
|
controller = f1_arg1.controller,
|
|
qualifier = f1_arg1.qualifier
|
|
}
|
|
if not f1_arg0.disabled then
|
|
f1_local0 = true
|
|
if f1_arg1.button == "secondary" then
|
|
f1_local1.name = "button_secondary"
|
|
elseif f1_arg1.button == "alt1" then
|
|
f1_local1.name = "button_alt1"
|
|
elseif f1_arg1.button == "alt2" then
|
|
f1_local1.name = "button_alt2"
|
|
elseif f1_arg1.button == "right_trigger" then
|
|
f1_local1.name = "button_right_trigger"
|
|
elseif f1_arg1.button == "left_trigger" then
|
|
f1_local1.name = "button_left_trigger"
|
|
elseif f1_arg1.button == "shoulderr" then
|
|
f1_local1.name = "button_shoulderr"
|
|
elseif f1_arg1.button == "shoulderl" then
|
|
f1_local1.name = "button_shoulderl"
|
|
elseif f1_arg1.button == "right_stick" then
|
|
f1_local1.name = "button_right_stick"
|
|
elseif f1_arg1.button == "left_stick" then
|
|
f1_local1.name = "button_left_stick"
|
|
elseif f1_arg1.button == "left" then
|
|
f1_local1.name = "button_left"
|
|
elseif f1_arg1.button == "right" then
|
|
f1_local1.name = "button_right"
|
|
elseif f1_arg1.button == "up" then
|
|
f1_local1.name = "button_up"
|
|
elseif f1_arg1.button == "down" then
|
|
f1_local1.name = "button_down"
|
|
elseif f1_arg1.button == "start" then
|
|
f1_local1.name = "button_start"
|
|
elseif f1_arg1.button == "select" then
|
|
f1_local1.name = "button_select"
|
|
elseif f1_arg1.button == "options" then
|
|
f1_local1.name = "button_options"
|
|
else
|
|
f1_local0 = false
|
|
end
|
|
end
|
|
if f1_local0 and f1_arg0:processEvent( f1_local1 ) then
|
|
if f1_arg0.actionSFX then
|
|
Engine.PlaySound( f1_arg0.actionSFX )
|
|
end
|
|
return true
|
|
end
|
|
end
|
|
return f1_arg0:dispatchEventToChildren( f1_arg1 )
|
|
end
|
|
|
|
LUI.UIBindButton.ElementEnable = function ( f2_arg0, f2_arg1 )
|
|
f2_arg0.disabled = nil
|
|
end
|
|
|
|
LUI.UIBindButton.ElementDisable = function ( f3_arg0, f3_arg1 )
|
|
f3_arg0.disabled = true
|
|
end
|
|
|
|
LUI.UIBindButton.Enable = function ( f4_arg0 )
|
|
f4_arg0:processEvent( {
|
|
name = "enable",
|
|
dispatchChildren = true
|
|
} )
|
|
end
|
|
|
|
LUI.UIBindButton.Disable = function ( f5_arg0 )
|
|
f5_arg0:processEvent( {
|
|
name = "disable",
|
|
dispatchChildren = true
|
|
} )
|
|
end
|
|
|
|
LUI.UIBindButton.SetActionSFX = function ( f6_arg0, f6_arg1 )
|
|
f6_arg0.actionSFX = f6_arg1
|
|
end
|
|
|
|
LUI.UIBindButton.build = function ( f7_arg0, f7_arg1 )
|
|
return LUI.UIBindButton.new()
|
|
end
|
|
|
|
LUI.UIBindButton.new = function ( menu, controller )
|
|
local self = LUI.UIElement.new( menu )
|
|
self.id = "LUIBindButton"
|
|
self.enable = LUI.UIBindButton.Enable
|
|
self.disable = LUI.UIBindButton.Disable
|
|
self.setActionSFX = LUI.UIBindButton.SetActionSFX
|
|
self:registerEventHandlerIfFree( "enable", LUI.UIBindButton.ElementEnable )
|
|
self:registerEventHandlerIfFree( "disable", LUI.UIBindButton.ElementDisable )
|
|
self:registerEventHandlerIfFree( "popup_active", LUI.UIBindButton.ElementDisable )
|
|
self:registerEventHandlerIfFree( "popup_inactive", LUI.UIBindButton.ElementEnable )
|
|
self:registerEventHandler( "gamepad_button", LUI.UIBindButton.GamepadButton )
|
|
return self
|
|
end
|
|
|