chore(actors/gfx): rework the gfx system to use animationEnded callback

This commit is contained in:
Kazhnuz 2019-09-07 21:00:35 +02:00
parent 60390ed1a7
commit 0fecc3a431
2 changed files with 6 additions and 16 deletions

View file

@ -31,16 +31,11 @@ function GFX:new(world, x, y, spritename)
GFX.super.new(self, world, "gfx", x - (width/2), y - (height/2), width, height) GFX.super.new(self, world, "gfx", x - (width/2), y - (height/2), width, height)
self:setSprite(spritename) self:setSprite(spritename)
self:cloneSprite() self:cloneSprite()
local duration = self.sprite.clone:getAnimationDuration()
self:addTimer("destroy", duration)
self.depth = -100
end end
function GFX:timerResponse(name) function GFX:animationEnded(animation)
if (name == "destroy") then core.debug:print("gfx2D", 'Current animation "' .. animation .. '" have ended, destroying gfx')
self:destroy() self:destroy()
end
end end
return GFX return GFX

View file

@ -31,16 +31,11 @@ function GFX:new(world, x, y, z, spritename)
GFX.super.new(self, world, "gfx", x - (width/2), y - (width/2), z - (height/2), width, width, height) GFX.super.new(self, world, "gfx", x - (width/2), y - (width/2), z - (height/2), width, width, height)
self:setSprite(spritename) self:setSprite(spritename)
self:cloneSprite() self:cloneSprite()
local duration = self.sprite.clone:getAnimationDuration()
self:addTimer("destroy", duration)
self.depth = -100
end end
function GFX:timerResponse(name) function GFX:animationEnded(animation)
if (name == "destroy") then core.debug:print("gfx2D", 'Current animation "' .. animation .. '" have ended, destroying gfx')
self:destroy() self:destroy()
end
end end
return GFX return GFX