diff --git a/control.lua b/control.lua index 19a2c519..b7ae47f5 100644 --- a/control.lua +++ b/control.lua @@ -58,7 +58,7 @@ Gui.toolbar.add('button1','btn1','test btn1',function(event) game.print('test') Gui.toolbar.add('button2','btn2','test btn2',function(event) game.print('test') end) Gui.toolbar.add('button3','item/lab','test btn3',function(event) game.print('test') end) -local input_test = Gui.inputs.add_button('test-inputs','Try RMB','alt,ctrl,shift and mouse buttons',{ +input_test = Gui.inputs.add_button('test-inputs','Try RMB','alt,ctrl,shift and mouse buttons',{ { function(player,mouse,keys) return mouse == defines.mouse_button_type.left and keys.alt end, function(player,element) player_return('Left: Alt',nil,player) end diff --git a/locale/ExpCore/GuiParts/inputs.lua b/locale/ExpCore/GuiParts/inputs.lua index 5fa45641..9f586ddc 100644 --- a/locale/ExpCore/GuiParts/inputs.lua +++ b/locale/ExpCore/GuiParts/inputs.lua @@ -26,9 +26,9 @@ inputs.events = { -- @tparam function callback the function you want to run on the event -- @treturn table returns self so you can chain together function inputs._input:on_event(event,callback) - if not is_type(callback,'function') then return end + if not is_type(callback,'function') then return self end if inputs.events[event] then event = inputs.events[event] end - if event == 'error' then self._error = callback return end + if event == 'error' then self._error = callback return self end self.events[event] = callback return self end @@ -106,7 +106,7 @@ Event.register(inputs.events.text,inputs._event_handler) -- @treturn table the button object that was made, to allow a custom error event if wanted function inputs.add_button(name,display,tooltip,callbacks) local button = inputs.add{ - type='button' + type='button', name=name, caption=display, tooltip=tooltip @@ -117,8 +117,8 @@ function inputs.add_button(name,display,tooltip,callbacks) local keys = {alt=event.alt,ctrl=event.control,shift=event.shift} local player = Game.get_player(event) local element = event.element - local callbacks = button.data._callback = callbacks - if is_type(callbacks,'function') then callbacks = {function(...) return true end,callbacks} + local callbacks = button.data._callbacks + if is_type(callbacks,'function') then callbacks = {function(...) return true end,callbacks} end for _,data in pairs(callbacks) do if is_type(data[1],'function') and is_type(data[2],'function') then local success, err = pcall(data[1],player,mouse,keys,event)