mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2025-12-31 13:01:39 +09:00
Fixed on_event chain
This commit is contained in:
@@ -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('button2','btn2','test btn2',function(event) game.print('test') end)
|
||||||
Gui.toolbar.add('button3','item/lab','test btn3',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,mouse,keys) return mouse == defines.mouse_button_type.left and keys.alt end,
|
||||||
function(player,element) player_return('Left: Alt',nil,player) end
|
function(player,element) player_return('Left: Alt',nil,player) end
|
||||||
|
|||||||
@@ -26,9 +26,9 @@ inputs.events = {
|
|||||||
-- @tparam function callback the function you want to run on the event
|
-- @tparam function callback the function you want to run on the event
|
||||||
-- @treturn table returns self so you can chain together
|
-- @treturn table returns self so you can chain together
|
||||||
function inputs._input:on_event(event,callback)
|
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 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
|
self.events[event] = callback
|
||||||
return self
|
return self
|
||||||
end
|
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
|
-- @treturn table the button object that was made, to allow a custom error event if wanted
|
||||||
function inputs.add_button(name,display,tooltip,callbacks)
|
function inputs.add_button(name,display,tooltip,callbacks)
|
||||||
local button = inputs.add{
|
local button = inputs.add{
|
||||||
type='button'
|
type='button',
|
||||||
name=name,
|
name=name,
|
||||||
caption=display,
|
caption=display,
|
||||||
tooltip=tooltip
|
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 keys = {alt=event.alt,ctrl=event.control,shift=event.shift}
|
||||||
local player = Game.get_player(event)
|
local player = Game.get_player(event)
|
||||||
local element = event.element
|
local element = event.element
|
||||||
local callbacks = button.data._callback = callbacks
|
local callbacks = button.data._callbacks
|
||||||
if is_type(callbacks,'function') then callbacks = {function(...) return true end,callbacks}
|
if is_type(callbacks,'function') then callbacks = {function(...) return true end,callbacks} end
|
||||||
for _,data in pairs(callbacks) do
|
for _,data in pairs(callbacks) do
|
||||||
if is_type(data[1],'function') and is_type(data[2],'function') then
|
if is_type(data[1],'function') and is_type(data[2],'function') then
|
||||||
local success, err = pcall(data[1],player,mouse,keys,event)
|
local success, err = pcall(data[1],player,mouse,keys,event)
|
||||||
|
|||||||
Reference in New Issue
Block a user