Clean up reinforcements.lua

This commit is contained in:
ScottNZ
2013-12-08 21:02:50 +13:00
parent dfba973690
commit 6e7229f97f

View File

@@ -30,12 +30,7 @@ Reinforcements.PerformHelicopterExtraction = function(owner, helicopterName, pas
Actor.Turn(heli, 0)
Actor.HeliLand(heli, true)
Actor.WaitFor(heli, function()
for i, passenger in ipairs(passengers) do
if not cargo.Passengers:Contains(passenger) then
return false
end
end
return true
return Utils.All(passengers, function(passenger) return cargo.Passengers:Contains(passenger) end)
end)
Actor.Wait(heli, 125)
Actor.HeliFly(heli, exitPosition)
@@ -45,10 +40,10 @@ end
Reinforcements.Reinforce = function(owner, reinforcementNames, enterLocation, rallyPointLocation, interval, onCreateFunc)
local facing = { Map.GetFacing(CPos.op_Subtraction(rallyPointLocation, enterLocation), 0), "Int32" }
local ret = { }
for i = 1, #reinforcementNames do
local reinforcement = Actor.Create(reinforcementNames[i], { AddToWorld = false, Owner = owner, Location = enterLocation, Facing = facing })
table.insert(ret, reinforcement)
local reinforcements = { }
for i, reinforcementName in ipairs(reinforcementNames) do
local reinforcement = Actor.Create(reinforcementName, { AddToWorld = false, Owner = owner, Location = enterLocation, Facing = facing })
reinforcements[i] = reinforcement
OpenRA.RunAfterDelay((i - 1) * interval, function()
World:Add(reinforcement)
Actor.MoveNear(reinforcement, rallyPointLocation, 2)
@@ -57,5 +52,5 @@ Reinforcements.Reinforce = function(owner, reinforcementNames, enterLocation, ra
end
end)
end
return ret
return reinforcements
end