bvg/systems/decay.lua

18 lines
531 B
Lua

local world = require("world")
world:filteredSystem("decay", { decayAfterSeconds = T.number }, function(e, dt, system)
e.decayAfterSeconds = e.decayAfterSeconds - dt
if e.decayAfterSeconds <= 0 then
system.world:removeEntity(e)
end
end)
LiveForNFrames = world:filteredSystem("liveForNFrames", { liveForNFrames = T.number }, function(e, _, system)
e.liveForNFrames = e.liveForNFrames - 1
if e.liveForNFrames <= 0 then
system.world:removeEntity(e)
end
end)
LiveForNFrames.deferToEnd = true