Here is the relevant code:
FirstLevel:
Code: Select all
function SecondLevel:load()
Level:load()
SecondLevel.Waves = {
Formations:ByOnes(Raider, 0, 4),
Formations:ByOnes(Raider, 128, 4),
Formations:ByOnes(Raider, 288, 4)
}
-- getTime() determined when level loads. Pausing breaks this.
SecondLevel.WaveTimes = {lt.getTime() + 3, lt.getTime() + 6, lt.getTime() + 9}
end
Code: Select all
function Utils:togglePause()
timeElapsed = love.timer.getTime()
paused = not paused
end
Code: Select all
function Level:update(dt, te, w, wt)
if not paused then
-- Move enemy ships
for i, v in ipairs(w) do
if te > wt[i] then
Manager:update(dt, v)
end
end
...
Code: Select all
function ActionSprite:shoot(dt, te)
if (te - self.lastFired >= self.Weapon.rateOfFire) --[[and self.alive]] then
-- Switch + / - for enemy / player repectively
if self.isEnemy then
table.insert(EnemyWeaponManager, self.Weapon:new{
x = self.x, y = self.y + self.Weapon.image:getHeight() })
elseif self.name == "P1" then
table.insert(P1WeaponManager, self.Weapon:new{
x = self.x, y = self.y - self.Weapon.image:getHeight() })
elseif self.name == "P2" then
table.insert(P2WeaponManager, self.Weapon:new{
x = self.x, y = self.y - self.Weapon.image:getHeight() })
end
self.lastFired = love.timer.getTime()
end
end
http://www.trevorhrenko.ca/jelaga/Jelaga.love
Thank you.