Skip to content

Commit

Permalink
Improve performance by only listening to events of the one entity it …
Browse files Browse the repository at this point in the history
…cares about
  • Loading branch information
Quezler committed Jan 26, 2024
1 parent 8608149 commit a8a64da
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 14 deletions.
21 changes: 10 additions & 11 deletions mods/glutenfree-se-addon-power-pole-subtile-snapper/control.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ local poles = require('scripts.poles')
--

local function init()
log("init")
global = {}

poles.init()
Expand All @@ -14,16 +13,16 @@ script.on_configuration_changed(init)

--

local events = {
[defines.events.on_built_entity] = poles.on_created_entity,
[defines.events.on_robot_built_entity] = poles.on_created_entity,
[defines.events.script_raised_built] = poles.on_created_entity,
[defines.events.script_raised_revive] = poles.on_created_entity,
[defines.events.on_entity_cloned] = poles.on_created_entity,
}

for event, handler in pairs(events) do
script.on_event(event, handler)
for _, event in ipairs({
defines.events.on_built_entity,
defines.events.on_robot_built_entity,
defines.events.script_raised_built,
defines.events.script_raised_revive,
defines.events.on_entity_cloned,
}) do
script.on_event(event, poleson_created_entity, {
{filter = 'name', name = 'se-addon-power-pole'},
})
end

--
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,14 @@ local poles = {}

function poles.init()
for _, surface in pairs(game.surfaces) do
for _, entity in pairs(surface.find_entities_filtered({ type = "electric-pole", name = "se-addon-power-pole" })) do
for _, entity in pairs(surface.find_entities_filtered({ name = 'se-addon-power-pole' })) do
poles.random_tick(entity)
end
end
end

function poles.on_created_entity(event)
local entity = event.created_entity or event.entity or event.destination
if entity.type ~= "electric-pole" then return end
if entity.name ~= "se-addon-power-pole" then return end

poles.random_tick(entity)
end
Expand Down

0 comments on commit a8a64da

Please sign in to comment.