From 6850cfa968e59bcc84dcbb3bcf9dbd8531d51f52 Mon Sep 17 00:00:00 2001 From: Cooldude2606 <25043174+Cooldude2606@users.noreply.github.com> Date: Wed, 29 Jan 2025 23:47:32 +0000 Subject: [PATCH] Add player as an event argument --- exp_gui/module/prototype.lua | 15 +++++++---- exp_gui/module/toolbar.lua | 27 +++++++------------ .../module/config/gui/player_list_actions.lua | 21 +++++---------- .../module/modules/control/spectate.lua | 8 +++--- exp_legacy/module/modules/gui/autofill.lua | 13 ++++----- exp_legacy/module/modules/gui/bonus.lua | 9 +++---- exp_legacy/module/modules/gui/landfill.lua | 3 +-- exp_legacy/module/modules/gui/module.lua | 4 +-- exp_legacy/module/modules/gui/player-list.lua | 12 +++------ exp_legacy/module/modules/gui/playerdata.lua | 4 +-- exp_legacy/module/modules/gui/readme.lua | 14 ++++------ exp_legacy/module/modules/gui/rocket-info.lua | 9 +++---- .../module/modules/gui/surveillance.lua | 9 +++---- exp_legacy/module/modules/gui/task-list.lua | 27 +++++++------------ exp_legacy/module/modules/gui/tool.lua | 15 ++++------- exp_legacy/module/modules/gui/vlayer.lua | 16 +++++------ exp_legacy/module/modules/gui/warp-list.lua | 26 +++++++----------- 17 files changed, 91 insertions(+), 141 deletions(-) diff --git a/exp_gui/module/prototype.lua b/exp_gui/module/prototype.lua index c7353ccc..2c868619 100644 --- a/exp_gui/module/prototype.lua +++ b/exp_gui/module/prototype.lua @@ -14,7 +14,8 @@ ExpElement.events = {} --- @alias ExpElement.DrawCallback fun(def: ExpElement, parent: LuaGuiElement, ...): LuaGuiElement?, function? --- @alias ExpElement.PostDrawCallback fun(def: ExpElement, element: LuaGuiElement?, parent: LuaGuiElement, ...): table? --- @alias ExpElement.PostDrawCallbackAdder fun(self: ExpElement, definition: table | ExpElement.PostDrawCallback): ExpElement ---- @alias ExpElement.OnEventAdder fun(self: ExpElement, handler: fun(def: ExpElement, event: E, element: LuaGuiElement)): ExpElement +--- @alias ExpElement.EventHandler fun(def: ExpElement, player: LuaPlayer, element: LuaGuiElement, event: E) +--- @alias ExpElement.OnEventAdder fun(self: ExpElement, handler: fun(def: ExpElement, player: LuaPlayer, element: LuaGuiElement, event: E)): ExpElement --- @class ExpElement._debug --- @field defined_at string @@ -41,7 +42,7 @@ ExpElement.events = {} --- @field _player_data ExpElement.PostDrawCallback? --- @field _force_data ExpElement.PostDrawCallback? --- @field _global_data ExpElement.PostDrawCallback? ---- @field _events table +--- @field _events table[]> --- @overload fun(parent: LuaGuiElement, ...: any): LuaGuiElement ExpElement._prototype = { _track_elements = false, @@ -393,18 +394,22 @@ local function event_handler(event) end --- Raise all handlers for an event on this definition ---- @param event EventData | { element: LuaGuiElement } +--- @param event EventData | { element: LuaGuiElement, player_index: number? } function ExpElement._prototype:raise_event(event) local handlers = self._events[event.name] if not handlers then return end + local player = event.player_index and game.get_player(event.player_index) + if event.element then player = game.get_player(event.element.player_index) end for _, handler in ipairs(handlers) do - handler(self, event, event.element) + -- All gui elements will contain player and element, other events might have these as nil + -- Therefore only the signature of on_event has these values as optional + handler(self, player --[[ @as LuaPlayer ]], event.element, event --[[ @as EventData ]]) end end --- Add an event handler --- @param event defines.events ---- @param handler fun(def: ExpElement, event: EventData, element: LuaGuiElement) +--- @param handler fun(def: ExpElement, player: LuaPlayer?, element: LuaGuiElement?, event: EventData) --- @return ExpElement function ExpElement._prototype:on_event(event, handler) ExpElement.events[event] = event_handler diff --git a/exp_gui/module/toolbar.lua b/exp_gui/module/toolbar.lua index ea826179..9ffb4595 100644 --- a/exp_gui/module/toolbar.lua +++ b/exp_gui/module/toolbar.lua @@ -204,8 +204,7 @@ function Toolbar.create_button(options) -- Setup auto toggle, required if there is a left element if auto_toggle or left_element then - toolbar_button:on_click(function(def, event) - local player = ExpGui.get_player(event) + toolbar_button:on_click(function(def, player) if left_element then Toolbar.set_left_element_visible_state(left_element, player) else @@ -233,8 +232,7 @@ elements.close_toolbar = ExpGui.element("close_toolbar") width = 18, height = 36, } - :on_click(function(def, event, element) - local player = ExpGui.get_player(event) + :on_click(function(def, player, element, event) if event.button == defines.mouse_button_type.left then Toolbar.set_left_element_visible_state(elements.toolbar_settings, player) else @@ -256,8 +254,7 @@ elements.open_toolbar = ExpGui.element("open_toolbar") width = 18, height = 20, } - :on_click(function(def, event, element) - local player = ExpGui.get_player(event) + :on_click(function(def, player, element, event) if event.button == defines.mouse_button_type.left then Toolbar.set_left_element_visible_state(elements.toolbar_settings, player) else @@ -279,9 +276,8 @@ elements.clear_left_flow = ExpGui.element("clear_left_flow") width = 18, height = 20, } - :on_click(function(def, event, element) + :on_click(function(def, player, element) element.visible = false - local player = ExpGui.get_player(event) for define in pairs(ExpGui.left_elements) do if define ~= elements.core_button_flow then Toolbar.set_left_element_visible_state(define, player, false, true) @@ -564,8 +560,7 @@ elements.toggle_toolbar = ExpGui.element("toggle_toolbar") :style(ExpGui.styles.sprite{ size = 22, }) - :on_click(function(def, event, element) - local player = ExpGui.get_player(event) + :on_click(function(def, player, element) Toolbar.set_visible_state(player, element.toggled) end) @@ -581,8 +576,7 @@ elements.reset_toolbar = ExpGui.element("reset_toolbar") size = 22, padding = -1, }) - :on_click(function(def, event, element) - local player = ExpGui.get_player(event) + :on_click(function(def, player, element) Toolbar.set_order(player, Toolbar.get_default_order()) end) @@ -596,8 +590,7 @@ elements.move_item_up = ExpGui.element("move_item_up") :style(ExpGui.styles.sprite{ size = toolbar_button_small, }) - :on_click(function(def, event, element) - local player = ExpGui.get_player(event) + :on_click(function(def, player, element) local item = assert(element.parent.parent) move_toolbar_button(player, item, -1) end) @@ -612,8 +605,7 @@ elements.move_item_down = ExpGui.element("move_item_down") :style(ExpGui.styles.sprite{ size = toolbar_button_small, }) - :on_click(function(def, event, element) - local player = ExpGui.get_player(event) + :on_click(function(def, player, element) local item = assert(element.parent.parent) move_toolbar_button(player, item, 1) end) @@ -637,8 +629,7 @@ elements.set_favourite = ExpGui.element("set_favourite") :style{ width = 180, } - :on_checked_state_changed(function(def, event, element) - local player = ExpGui.get_player(event) + :on_checked_state_changed(function(def, player, element) local define = ExpElement.get(element.tags.element_name --[[ @as string ]]) local top_element = ExpGui.get_top_element(define, player) local had_visible = Toolbar.has_visible_buttons(player) diff --git a/exp_legacy/module/config/gui/player_list_actions.lua b/exp_legacy/module/config/gui/player_list_actions.lua index 443ab727..9dddc079 100644 --- a/exp_legacy/module/config/gui/player_list_actions.lua +++ b/exp_legacy/module/config/gui/player_list_actions.lua @@ -64,8 +64,7 @@ end --- Teleports the user to the action player -- @element goto_player local goto_player = new_button("utility/export", { "player-list.goto-player" }) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) local selected_player_name = get_action_player_name(player) local selected_player = game.players[selected_player_name] if not player.character or not selected_player.character then @@ -78,8 +77,7 @@ local goto_player = new_button("utility/export", { "player-list.goto-player" }) --- Teleports the action player to the user -- @element bring_player local bring_player = new_button("utility/import", { "player-list.bring-player" }) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) local selected_player_name = get_action_player_name(player) local selected_player = game.players[selected_player_name] if not player.character or not selected_player.character then @@ -92,8 +90,7 @@ local bring_player = new_button("utility/import", { "player-list.bring-player" } --- Reports the action player, requires a reason to be given -- @element report_player local report_player = new_button("utility/spawn_flag", { "player-list.report-player" }) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) local selected_player_name = get_action_player_name(player) if Reports.is_reported(selected_player_name, player.name) then player.print({ "exp-commands_report.already-reported" }, Colors.orange_red) @@ -113,8 +110,7 @@ end --- Gives the action player a warning, requires a reason -- @element warn_player local warn_player = new_button("utility/spawn_flag", { "player-list.warn-player" }) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) SelectedAction:set(player, "command/give-warning") end) @@ -128,8 +124,7 @@ end --- Jails the action player, requires a reason -- @element jail_player local jail_player = new_button("utility/multiplayer_waiting_icon", { "player-list.jail-player" }) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) local selected_player_name, selected_player_color = get_action_player_name(player) if Jail.is_jailed(selected_player_name) then player.print({ "exp-commands_jail.already-jailed", selected_player_color }, Colors.orange_red) @@ -148,8 +143,7 @@ end --- Kicks the action player, requires a reason -- @element kick_player local kick_player = new_button("utility/warning_icon", { "player-list.kick-player" }) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) SelectedAction:set(player, "command/kick") end) @@ -161,8 +155,7 @@ end --- Bans the action player, requires a reason -- @element ban_player local ban_player = new_button("utility/danger_icon", { "player-list.ban-player" }) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) SelectedAction:set(player, "command/ban") end) diff --git a/exp_legacy/module/modules/control/spectate.lua b/exp_legacy/module/modules/control/spectate.lua index a7a2158b..57616586 100644 --- a/exp_legacy/module/modules/control/spectate.lua +++ b/exp_legacy/module/modules/control/spectate.lua @@ -123,11 +123,13 @@ follow_label = Gui.element("follow-label") return label end) - :on_click(Public.stop_follow) - :on_closed(function(def, event) + :on_click(function(def, player, element) + Public.stop_follow(player) + end) + :on_closed(function(def, player, element) -- Don't call set_controller during on_close as it invalidates the controller -- Setting an invalid position (as to not equal their current) will call stop_follow on the next tick - following[event.player_index][3] = {} + following[player.index][3] = {} end) ----- Events ----- diff --git a/exp_legacy/module/modules/gui/autofill.lua b/exp_legacy/module/modules/gui/autofill.lua index f40d524c..f0905230 100644 --- a/exp_legacy/module/modules/gui/autofill.lua +++ b/exp_legacy/module/modules/gui/autofill.lua @@ -36,7 +36,7 @@ local toggle_section = Gui.element("autofill_toggle_section") :style(Gui.styles.sprite{ size = 20 }) - :on_click(function(def, event, element) + :on_click(function(def, player, element) local header_flow = assert(element.parent) local flow_name = header_flow.caption local flow = header_flow.parent.parent[flow_name] @@ -64,8 +64,7 @@ local entity_toggle = Gui.element("entity_toggle") :style(Gui.styles.sprite{ size = 22 }) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) local entity_name = string.match(element.parent.parent.name, "(.*)%-header") if not autofill_player_settings[player.name] then return end local setting = autofill_player_settings[player.name][entity_name] @@ -115,7 +114,7 @@ local section = Gui.element("autofill_section") return def:unlink_element(section_table) end) - :on_click(function(def, event, element) + :on_click(function(def, player, element, event) event.element = element.parent.alignment[toggle_section.name] toggle_section:raise_event(event) end) @@ -135,8 +134,7 @@ local toggle_item_button = Gui.element("toggle_item_button") size = 32, right_margin = -3, }) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) local item_name = element.parent.tooltip local entity_name = element.parent.parent.parent.name if not autofill_player_settings[player.name] then return end @@ -178,10 +176,9 @@ local amount_textfield = Gui.element("amount_textfield") height = 31, padding = -2, } - :on_text_changed(function(def, event, element) + :on_text_changed(function(def, player, element) local value = tonumber(element.text) if not value then value = 0 end - local player = Gui.get_player(event) local clamped = math.clamp(value, 0, 1000) local item_name = element.parent.tooltip local entity_name = element.parent.parent.parent.name diff --git a/exp_legacy/module/modules/gui/bonus.lua b/exp_legacy/module/modules/gui/bonus.lua index cfb880da..d75a2396 100644 --- a/exp_legacy/module/modules/gui/bonus.lua +++ b/exp_legacy/module/modules/gui/bonus.lua @@ -176,8 +176,7 @@ local bonus_gui_control_reset = Gui.element("bonus_gui_control_reset") caption = { "bonus.control-reset" }, }:style{ width = config.gui_display_width["half"], - }:on_click(function(def, event, element) - local player = Gui.get_player(event) + }:on_click(function(def, player, element) local container = Gui.get_left_element(bonus_container, player) local disp = container.frame["bonus_st_2"].disp.table @@ -210,8 +209,7 @@ local bonus_gui_control_apply = Gui.element("bonus_gui_control_apply") caption = { "bonus.control-apply" }, }:style{ width = config.gui_display_width["half"], - }:on_click(function(def, event, element) - local player = Gui.get_player(event) + }:on_click(function(def, player, element) local n = bonus_gui_pts_needed(player) element.parent[bonus_gui_control_pts_n_count.name].caption = n local r = tonumber(element.parent[bonus_gui_control_pts_a_count.name].caption) - n @@ -290,8 +288,7 @@ local bonus_gui_slider = Gui.element("bonus_gui_slider") return slider end) - :on_value_changed(function(def, event, element) - local player = Gui.get_player(event) + :on_value_changed(function(def, player, element) if element.tags.is_percentage then element.parent[element.tags.counter].caption = format_number(element.slider_value * 100, false) .. " %" else diff --git a/exp_legacy/module/modules/gui/landfill.lua b/exp_legacy/module/modules/gui/landfill.lua index 0ea1d193..bbc6061d 100644 --- a/exp_legacy/module/modules/gui/landfill.lua +++ b/exp_legacy/module/modules/gui/landfill.lua @@ -174,8 +174,7 @@ Gui.toolbar.create_button{ visible = function(player, element) return Roles.player_allowed(player, "gui/landfill") end -}:on_click(function(def, event, element) - local player = Gui.get_player(event) +}:on_click(function(def, player, element) if player.cursor_stack and player.cursor_stack.valid_for_read then if player.cursor_stack.type == "blueprint" and player.cursor_stack.is_blueprint_setup() then local modified = landfill_gui_add_landfill(player.cursor_stack) diff --git a/exp_legacy/module/modules/gui/module.lua b/exp_legacy/module/modules/gui/module.lua index f9cc6977..edbd3dd0 100644 --- a/exp_legacy/module/modules/gui/module.lua +++ b/exp_legacy/module/modules/gui/module.lua @@ -252,7 +252,7 @@ local button_apply = Gui.element("button_apply") type = "button", caption = { "module.apply" }, style = "button", - }:on_click(function(player) + }:on_click(function(def, player, element) if Selection.is_selecting(player, SelectionModuleArea) then Selection.stop(player) else @@ -268,7 +268,7 @@ module_container = Gui.element("module_container") }) local slots_per_row = config.module_slots_per_row + 1 - local scroll_table = Gui.elements.scroll_table(container, (config.module_slots_per_row + 2) * 36, slots_per_row) + local scroll_table = Gui.elements.scroll_table(container, (config.module_slots_per_row + 2) * 36, slots_per_row, "scroll") for i = 1, config.default_module_row_count do scroll_table.add{ diff --git a/exp_legacy/module/modules/gui/player-list.lua b/exp_legacy/module/modules/gui/player-list.lua index d56bdd8b..486f022f 100644 --- a/exp_legacy/module/modules/gui/player-list.lua +++ b/exp_legacy/module/modules/gui/player-list.lua @@ -36,8 +36,7 @@ local open_action_bar = Gui.element("open_action_bar") width = 8, height = 14, } - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) local selected_player_name = element.parent.name local old_selected_player_name = SelectedPlayer:get(player) if selected_player_name == old_selected_player_name then @@ -62,8 +61,7 @@ local close_action_bar = Gui.element("close_action_bar") top_margin = -1, right_margin = -1, }) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) SelectedPlayer:remove(player) SelectedAction:remove(player) end) @@ -83,8 +81,7 @@ local reason_confirm = Gui.element("reason_confirm") left_margin = -2, right_margin = -1, }) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) local reason = element.parent.entry.text local action_name = SelectedAction:get(player) local reason_callback = config.buttons[action_name].reason_callback @@ -125,8 +122,7 @@ local add_player_base = Gui.element("add_player_base") return player_name end) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element, event) local selected_player_name = element.caption local selected_player = game.players[selected_player_name] if event.button == defines.mouse_button_type.left then diff --git a/exp_legacy/module/modules/gui/playerdata.lua b/exp_legacy/module/modules/gui/playerdata.lua index c73bb7a5..2ef6110c 100644 --- a/exp_legacy/module/modules/gui/playerdata.lua +++ b/exp_legacy/module/modules/gui/playerdata.lua @@ -140,7 +140,7 @@ local pd_username_player = Gui.element("pd_username_player") end) :style{ horizontally_stretchable = true, - }:on_selection_state_changed(function(def, event, element) + }:on_selection_state_changed(function(def, player, element) local player_name = game.connected_players[element.selected_index] local table = element.parent.parent.parent.parent["pd_st_2"].disp.table pd_update(table, player_name) @@ -153,7 +153,7 @@ local pd_username_update = Gui.element("pd_username_update") caption = "update", }:style{ width = 128, - }:on_click(function(def, event, element) + }:on_click(function(def, player, element) local player_index = element.parent[pd_username_player.name].selected_index if player_index > 0 then diff --git a/exp_legacy/module/modules/gui/readme.lua b/exp_legacy/module/modules/gui/readme.lua index c5b4d717..172a3e7c 100644 --- a/exp_legacy/module/modules/gui/readme.lua +++ b/exp_legacy/module/modules/gui/readme.lua @@ -103,9 +103,8 @@ local join_server = Gui.element("readme_join_server") size = 20, padding = -1, } - :on_click(function(def, event) - local player = Gui.get_player(event) - local server_id = event.element.parent.name + :on_click(function(def, player, element) + local server_id = element.parent.name External.request_connection(player, server_id, true) end) @@ -436,12 +435,10 @@ local readme = Gui.element("readme") return container end) - :on_opened(function(def, event) - local player = Gui.get_player(event) + :on_opened(function(def, player, element) Gui.toolbar.set_button_toggled_state(readme_toggle, player, true) end) - :on_closed(function(def, event, element) - local player = Gui.get_player(event) + :on_closed(function(def, player, element) Gui.toolbar.set_button_toggled_state(readme_toggle, player, false) Gui.destroy_if_valid(element) end) @@ -457,8 +454,7 @@ readme_toggle = return Roles.player_allowed(player, "gui/readme") end } - :on_click(function(def, event) - local player = Gui.get_player(event) + :on_click(function(def, player, element) local center = player.gui.center if center[readme.name] then player.opened = nil diff --git a/exp_legacy/module/modules/gui/rocket-info.lua b/exp_legacy/module/modules/gui/rocket-info.lua index c6b12a55..4f4dbb66 100644 --- a/exp_legacy/module/modules/gui/rocket-info.lua +++ b/exp_legacy/module/modules/gui/rocket-info.lua @@ -49,7 +49,7 @@ local toggle_launch = Gui.element("toggle_launch") :style(Gui.styles.sprite{ size = 16, }) - :on_click(function(def, event, element) + :on_click(function(def, player, element) local rocket_silo_name = element.parent.name:sub(8) local rocket_silo = Rockets.get_silo_entity(rocket_silo_name) if rocket_silo.auto_launch then @@ -106,8 +106,7 @@ local silo_cords = Gui.element("silo_cords") definition:link_element(label_y) end end) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) local rocket_silo_name = element.parent.caption local rocket_silo = Rockets.get_silo_entity(rocket_silo_name) player.set_controller{ type = defines.controllers.remote, position = rocket_silo.position, surface = rocket_silo.surface } @@ -405,7 +404,7 @@ local toggle_section = Gui.element("rocket_info_toggle_section") :style(Gui.styles.sprite{ size = 20, }) - :on_click(function(def, event, element) + :on_click(function(def, player, element) local header_flow = assert(element.parent) local flow_name = header_flow.caption local flow = header_flow.parent.parent[flow_name] @@ -443,7 +442,7 @@ local section = Gui.element("rocket_info_section") -- Return the flow table return definition:unlink_element(scroll_table) end) - :on_click(function(def, event, element) + :on_click(function(def, player, element, event) event.element = element.parent.alignment[toggle_section.name] toggle_section:raise_event(event) end) diff --git a/exp_legacy/module/modules/gui/surveillance.lua b/exp_legacy/module/modules/gui/surveillance.lua index b3ef6ef7..7f034a27 100644 --- a/exp_legacy/module/modules/gui/surveillance.lua +++ b/exp_legacy/module/modules/gui/surveillance.lua @@ -25,7 +25,7 @@ local cctv_status = Gui.element("cctv_status") selected_index = 2, }:style{ width = 96, - }:on_selection_state_changed(function(def, event, element) + }:on_selection_state_changed(function(def, player, element) if element.selected_index == 1 then element.parent.parent.parent.cctv_display.visible = true else @@ -50,8 +50,7 @@ local cctv_location = Gui.element("cctv_location") caption = { "surveillance.func-set" }, }:style{ width = 48, - }:on_click(function(def, event, element) - local player = Gui.get_player(event) + }:on_click(function(def, player, element) element.parent.parent.parent.cctv_display.position = player.physical_position end) @@ -62,7 +61,7 @@ local zoom_in = Gui.element("zoom_in") caption = "+", }:style{ width = 32, - }:on_click(function(def, event, element) + }:on_click(function(def, player, element) local display = element.parent.parent.parent.cctv_display if display.zoom < 2.0 then display.zoom = display.zoom + 0.05 @@ -76,7 +75,7 @@ local zoom_out = Gui.element("zoom_out") caption = "-", }:style{ width = 32, - }:on_click(function(def, event, element) + }:on_click(function(def, player, element) local display = element.parent.parent.parent.cctv_display if display.zoom > 0.2 then display.zoom = display.zoom - 0.05 diff --git a/exp_legacy/module/modules/gui/task-list.lua b/exp_legacy/module/modules/gui/task-list.lua index cf310d74..eb20e2ae 100644 --- a/exp_legacy/module/modules/gui/task-list.lua +++ b/exp_legacy/module/modules/gui/task-list.lua @@ -93,8 +93,7 @@ local add_new_task = Gui.element("add_new_task") } :style(Styles.sprite22) :on_click( - function(def, event, element) - local player = Gui.get_player(event) + function(def, player, element) -- Disable editing PlayerIsEditing:set(player, false) -- Clear selected @@ -198,8 +197,7 @@ local task_list_item = Gui.element("task_list_item") end ) :on_click( - function(def, event, element) - local player = Gui.get_player(event) + function(def, player, element) local task_id = element.parent.caption PlayerSelected:set(player, task_id) end @@ -266,8 +264,7 @@ local task_view_close_button = Gui.element("task_view_close_button") } :style(Styles.sprite22) :on_click( - function(def, event, element) - local player = Gui.get_player(event) + function(def, player, element) PlayerSelected:set(player, nil) end ) @@ -284,8 +281,7 @@ local task_view_delete_button = Gui.element("task_view_delete_button") } :style(Styles.footer_button) :on_click( - function(def, event, element) - local player = Gui.get_player(event) + function(def, player, element) local selected = PlayerSelected:get(player) PlayerSelected:set(player, nil) Tasks.remove_task(selected) @@ -361,8 +357,7 @@ local task_message_textfield = Gui.element("task_message_textfield") horizontally_stretchable = true, } :on_text_changed( - function(def, event, element) - local player = Gui.get_player(event) + function(def, player, element) local is_editing = PlayerIsEditing:get(player) local is_creating = PlayerIsCreating:get(player) @@ -388,8 +383,7 @@ task_edit_confirm_button = Gui.element("task_edit_confirm_button") } :style(Styles.footer_button) :on_click( - function(def, event, element) - local player = Gui.get_player(event) + function(def, player, element) local selected = PlayerSelected:get(player) PlayerIsEditing:set(player, false) local new_message = element.parent.parent[task_message_textfield.name].text @@ -410,8 +404,7 @@ local edit_task_discard_button = Gui.element("edit_task_discard_button") } :style(Styles.footer_button) :on_click( - function(def, event, element) - local player = Gui.get_player(event) + function(def, player, element) local selected = PlayerSelected:get(player) Tasks.set_editing(selected, player.name, nil) PlayerIsEditing:set(player, false) @@ -450,8 +443,7 @@ task_create_confirm_button = Gui.element("task_create_confirm_button") } :style(Styles.footer_button) :on_click( - function(def, event, element) - local player = Gui.get_player(event) + function(def, player, element) local message = element.parent.parent[task_message_textfield.name].text PlayerIsCreating:set(player, false) local parsed = parse_message(message) @@ -471,8 +463,7 @@ local task_create_discard_button = Gui.element("task_create_discard_button") } :style(Styles.footer_button) :on_click( - function(def, event, element) - local player = Gui.get_player(event) + function(def, player, element) PlayerIsCreating:set(player, false) end ) diff --git a/exp_legacy/module/modules/gui/tool.lua b/exp_legacy/module/modules/gui/tool.lua index c21e15d1..c6c67acb 100644 --- a/exp_legacy/module/modules/gui/tool.lua +++ b/exp_legacy/module/modules/gui/tool.lua @@ -47,8 +47,7 @@ local tool_gui_arty_b = Gui.element("tool_gui_arty_b") caption = { "tool.apply" } }:style( style.button - ):on_click(function(def, event, element) - local player = Gui.get_player(event) + ):on_click(function(def, player, element) if Selection.is_selecting(player, SelectionArtyArea) then Selection.stop(player) @@ -80,8 +79,7 @@ local tool_gui_waterfill_b = Gui.element("tool_gui_waterfill_b") caption = { "tool.apply" } }:style( style.button - ):on_click(function(def, event, element) - local player = Gui.get_player(event) + ):on_click(function(def, player, element) if Selection.is_selecting(player, SelectionWaterfillArea) then Selection.stop(player) return player.print{ "exp-commands_waterfill.exit" } @@ -115,8 +113,7 @@ local tool_gui_train_b = Gui.element("tool_gui_train_b") caption = { "tool.apply" } }:style( style.button - ):on_click(function(def, event, element) - local player = Gui.get_player(event) + ):on_click(function(def, player, element) addon_train.manual(player) end) @@ -142,8 +139,7 @@ local tool_gui_research_b = Gui.element("tool_gui_research_b") caption = { "tool.apply" } }:style( style.button - ):on_click(function(def, event, element) - local player = Gui.get_player(event) + ):on_click(function(def, player, element) local enabled = addon_research.set_auto_research() if enabled then @@ -176,8 +172,7 @@ local tool_gui_spawn_b = Gui.element("tool_gui_spawn_b") caption = { "tool.apply" } }:style( style.button - ):on_click(function(def, event, element) - local player = Gui.get_player(event) + ):on_click(function(def, player, element) if not player.character or player.character.health <= 0 or not ExpUtil.teleport_player(player, game.surfaces.nauvis, { 0, 0 }, "dismount") then diff --git a/exp_legacy/module/modules/gui/vlayer.lua b/exp_legacy/module/modules/gui/vlayer.lua index 3b5ada8b..9027ae12 100644 --- a/exp_legacy/module/modules/gui/vlayer.lua +++ b/exp_legacy/module/modules/gui/vlayer.lua @@ -334,8 +334,8 @@ vlayer_gui_control_type = Gui.element("vlayer_gui_control_type") selected_index = 1, }:style{ width = 200, - }:on_selection_state_changed(function(def, event, element) - vlayer_gui_list_refresh(Gui.get_player(event)) + }:on_selection_state_changed(function(def, player, element) + vlayer_gui_list_refresh(player) end) --- A drop down list to see the exact item to remove @@ -357,8 +357,8 @@ local vlayer_gui_control_refresh = Gui.element("vlayer_gui_control_refresh") caption = { "vlayer.control-refresh" }, }:style{ width = 200, - }:on_click(function(def, event, element) - vlayer_gui_list_refresh(Gui.get_player(event)) + }:on_click(function(def, player, element) + vlayer_gui_list_refresh(player) end) --- A button to check if the item is the one wanted to remove @@ -370,7 +370,7 @@ local vlayer_gui_control_see = Gui.element("vlayer_gui_control_see") caption = { "vlayer.control-see" }, }:style{ width = 200, - }:on_click(function(def, event, element) + }:on_click(function(def, player, element, event) local target = element.parent[vlayer_gui_control_type.name].selected_index local n = element.parent[vlayer_gui_control_list.name].selected_index @@ -394,8 +394,7 @@ local vlayer_gui_control_build = Gui.element("vlayer_gui_control_build") caption = { "vlayer.control-build" }, }:style{ width = 200, - }:on_click(function(def, event, element) - local player = Gui.get_player(event) + }:on_click(function(def, player, element) if Selection.is_selecting(player, SelectionConvertArea) then Selection.stop(player) player.print{ "vlayer.exit" } @@ -416,8 +415,7 @@ local vlayer_gui_control_remove = Gui.element("vlayer_gui_control_remove") caption = { "vlayer.control-remove" }, }:style{ width = 200, - }:on_click(function(def, event, element) - local player = Gui.get_player(event) + }:on_click(function(def, player, element) local target = element.parent[vlayer_gui_control_type.name].selected_index local n = element.parent[vlayer_gui_control_list.name].selected_index diff --git a/exp_legacy/module/modules/gui/warp-list.lua b/exp_legacy/module/modules/gui/warp-list.lua index 64da174b..cda5ea21 100644 --- a/exp_legacy/module/modules/gui/warp-list.lua +++ b/exp_legacy/module/modules/gui/warp-list.lua @@ -87,8 +87,7 @@ local add_new_warp = Gui.element("add_new_warp") name = Gui.property_from_name, } :style(Styles.sprite22) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) if player.controller_type ~= defines.controllers.character then return end -- Add the new warp local force_name = player.force.name @@ -179,9 +178,8 @@ local warp_icon_button = Gui.element("warp_icon_button") } end) :style(Styles.sprite32) - :on_click(function(def, event, element) + :on_click(function(def, player, element) if element.type == "choose-elem-button" then return end - local player = Gui.get_player(event) local warp_id = element.parent.caption Warps.teleport_player(warp_id, player) @@ -227,8 +225,7 @@ local warp_label = Gui.element("warp_label") right_padding = 2, horizontally_stretchable = true, } - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) local warp_id = element.parent.caption local warp = Warps.get_warp(warp_id) player.set_controller{ type = defines.controllers.remote, position = warp.position, surface = warp.surface } @@ -273,8 +270,7 @@ local warp_textfield = Gui.element("warp_textfield") left_margin = 2, right_margin = 2, } - :on_confirmed(function(def, event, element) - local player = Gui.get_player(event) + :on_confirmed(function(def, player, element) local warp_id = element.parent.caption local warp_name = element.text local warp_icon = element.parent.parent["icon-" .. warp_id][warp_icon_editing.name].elem_value --[[ @as SignalID ]] @@ -294,8 +290,7 @@ local confirm_edit_button = Gui.element("confirm_edit_button") name = Gui.property_from_name, } :style(Styles.sprite22) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) local warp_id = element.parent.caption local warp_name = element.parent.parent["name-" .. warp_id][warp_textfield.name].text local warp_icon = element.parent.parent["icon-" .. warp_id][warp_icon_editing.name].elem_value --[[ @as SignalID ]] @@ -315,8 +310,7 @@ local cancel_edit_button = Gui.element("cancel_edit_button") name = Gui.property_from_name, } :style(Styles.sprite22) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) local warp_id = element.parent.caption -- Check if this is the first edit, if so remove the warp. local warp = Warps.get_warp(warp_id) @@ -338,7 +332,7 @@ local remove_warp_button = Gui.element("remove_warp_button") name = Gui.property_from_name, } :style(Styles.sprite22) - :on_click(function(def, event, element) + :on_click(function(def, player, element) local warp_id = element.parent.caption Warps.remove_warp(warp_id) end) @@ -354,8 +348,7 @@ local edit_warp_button = Gui.element("edit_warp_button") name = Gui.property_from_name, } :style(Styles.sprite22) - :on_click(function(def, event, element) - local player = Gui.get_player(event) + :on_click(function(def, player, element) local warp_id = element.parent.caption Warps.set_editing(warp_id, player.name, true) end) @@ -711,9 +704,8 @@ Gui.toolbar.create_button{ visible = function(player, element) return Roles.player_allowed(player, "gui/warp-list") end -}:on_click(function(def, event, element) +}:on_click(function(def, player, element) -- Set gui keep open state for player that clicked the button: true if visible, false if invisible - local player = Gui.get_player(event) keep_gui_open[player.name] = Gui.toolbar.get_button_toggled_state(def, player) end)