From 0fecc3a431bb7c1962c14846e2110c4f9d265bf7 Mon Sep 17 00:00:00 2001 From: Kazhnuz Date: Sat, 7 Sep 2019 21:00:35 +0200 Subject: [PATCH] chore(actors/gfx): rework the gfx system to use animationEnded callback --- gamecore/modules/world/actors/gfx2D.lua | 11 +++-------- gamecore/modules/world/actors/gfx3D.lua | 11 +++-------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/gamecore/modules/world/actors/gfx2D.lua b/gamecore/modules/world/actors/gfx2D.lua index 9f3857e..900654c 100644 --- a/gamecore/modules/world/actors/gfx2D.lua +++ b/gamecore/modules/world/actors/gfx2D.lua @@ -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) self:setSprite(spritename) self:cloneSprite() - - local duration = self.sprite.clone:getAnimationDuration() - self:addTimer("destroy", duration) - self.depth = -100 end -function GFX:timerResponse(name) - if (name == "destroy") then - self:destroy() - end +function GFX:animationEnded(animation) + core.debug:print("gfx2D", 'Current animation "' .. animation .. '" have ended, destroying gfx') + self:destroy() end return GFX diff --git a/gamecore/modules/world/actors/gfx3D.lua b/gamecore/modules/world/actors/gfx3D.lua index 0111f22..fa40c05 100644 --- a/gamecore/modules/world/actors/gfx3D.lua +++ b/gamecore/modules/world/actors/gfx3D.lua @@ -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) self:setSprite(spritename) self:cloneSprite() - - local duration = self.sprite.clone:getAnimationDuration() - self:addTimer("destroy", duration) - self.depth = -100 end -function GFX:timerResponse(name) - if (name == "destroy") then - self:destroy() - end +function GFX:animationEnded(animation) + core.debug:print("gfx2D", 'Current animation "' .. animation .. '" have ended, destroying gfx') + self:destroy() end return GFX