So I have this code that prints "Fired Missile #1/#2") is there a way to run a function when Missile #1 is fired and then make it run another function when Missile #2 is fired?
local function missileFactory(id)
return {Fire = function()
print("Fired missile #"..id)
return true
end}
end
local Missile = {
missileFactory(1),
missileFactory(2),
{Fire = function()
print("Out of missiles!")
resetFire()
return false
end}
}
local nextMissile = 1
function resetFire()
print 'reset'
nextMissile = 1
end
function fire()
print 'fire'
local fired = Missile[nextMissile]:Fire()
nextMissile = nextMissile + 1
return fired -- Pass on the result of Fire(). We could not increment nextMissile if it fails, but I'm lazy.
end
