From d7dc4040c8bc744f80bd03d47734dc9c4018119d Mon Sep 17 00:00:00 2001 From: PHIDIAS Date: Tue, 14 Jan 2025 18:48:24 +0900 Subject: [PATCH] . --- exp_legacy/module/modules/control/vlayer.lua | 11 ++++++----- exp_legacy/module/modules/gui/vlayer.lua | 12 ++++++------ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/exp_legacy/module/modules/control/vlayer.lua b/exp_legacy/module/modules/control/vlayer.lua index d494b13c..5e879a3e 100644 --- a/exp_legacy/module/modules/control/vlayer.lua +++ b/exp_legacy/module/modules/control/vlayer.lua @@ -712,11 +712,12 @@ function vlayer.remove_interface(surface, position) -- Get the details which will be returned if #entities == 0 then - return nil, nil + return nil, nil, nil end local interface = entities[1] local name = interface.name + local sur = interface.surface local pos = interface.position -- Return the type of interface removed and do some clean up @@ -731,7 +732,7 @@ function vlayer.remove_interface(surface, position) table.remove_element(vlayer_data.entity_interfaces.storage_input, interface) interface.destroy() - return "storage-input", pos + return "storage-input", sur, pos elseif name == "requester-chest" then local inventory = assert(interface.get_inventory(defines.inventory.chest)) ExpUtil.transfer_inventory_to_surface{ @@ -743,18 +744,18 @@ function vlayer.remove_interface(surface, position) table.remove_element(vlayer_data.entity_interfaces.storage_output, interface) interface.destroy() - return "storage-output", pos + return "storage-output", sur, pos elseif name == "constant-combinator" then table.remove_element(vlayer_data.entity_interfaces.circuit, interface) interface.destroy() - return "circuit", pos + return "circuit", sur, pos elseif name == "electric-energy-interface" then vlayer_data.storage.energy = vlayer_data.storage.energy + interface.energy table.remove_element(vlayer_data.entity_interfaces.energy, interface) interface.destroy() - return "energy", pos + return "energy", sur, pos end end diff --git a/exp_legacy/module/modules/gui/vlayer.lua b/exp_legacy/module/modules/gui/vlayer.lua index 974570fb..e37c0437 100644 --- a/exp_legacy/module/modules/gui/vlayer.lua +++ b/exp_legacy/module/modules/gui/vlayer.lua @@ -32,8 +32,8 @@ local vlayer_control_type_list = { [4] = "storage_output", } -local function pos_to_gps_string(pos) - return "[gps=" .. string.format("%.1f", pos.x) .. "," .. string.format("%.1f", pos.y) .. "]" +local function pos_to_gps_string(pos, surface_name) + return "[gps=" .. string.format("%.1f", pos.x) .. "," .. string.format("%.1f", pos.y) .. "," .. surface_name .. "]" end local function format_energy(amount, unit) @@ -127,7 +127,7 @@ Selection.on_selection(SelectionConvertArea, function(event) vlayer.create_output_interface(event.surface, e_pos, e_circ, player) end - game.print{ "vlayer.interface-result", player.name, pos_to_gps_string(e_pos), { "vlayer.result-build" }, { "vlayer.control-type-" .. target:gsub("_", "-") } } + game.print{ "vlayer.interface-result", player.name, pos_to_gps_string(e_pos, event.surface), { "vlayer.result-build" }, { "vlayer.control-type-" .. target:gsub("_", "-") } } end) --- Display label for the number of solar panels @@ -373,7 +373,7 @@ local vlayer_gui_control_see = local entity = i[vlayer_control_type_list[target]][n] if entity and entity.valid then player.set_controller{ type = defines.controllers.remote, position = entity.position, surface = entity.surface } - player.print{ "vlayer.result-interface-location", { "vlayer.control-type-" .. vlayer_control_type_list[target]:gsub("_", "-") }, pos_to_gps_string(entity.position) } + player.print{ "vlayer.result-interface-location", { "vlayer.control-type-" .. vlayer_control_type_list[target]:gsub("_", "-") }, pos_to_gps_string(entity.position, entity.surface) } end end end) @@ -415,10 +415,10 @@ local vlayer_gui_control_remove = local i = vlayer.get_interfaces() if i and i[vlayer_control_type_list[target]] then - local interface_type, interface_position = vlayer.remove_interface(i[vlayer_control_type_list[target]][n].surface, i[vlayer_control_type_list[target]][n].position) + local interface_type, interface_surface, interface_position = vlayer.remove_interface(i[vlayer_control_type_list[target]][n].surface, i[vlayer_control_type_list[target]][n].position) if interface_type then - game.print{ "vlayer.interface-result", player.name, pos_to_gps_string(interface_position), { "vlayer.result-remove" }, { "vlayer.control-type-" .. interface_type } } + game.print{ "vlayer.interface-result", player.name, pos_to_gps_string(interface_position, interface_surface), { "vlayer.result-remove" }, { "vlayer.control-type-" .. interface_type } } end end end