summaryrefslogtreecommitdiffhomepage
path: root/not/Effect.lua
diff options
context:
space:
mode:
Diffstat (limited to 'not/Effect.lua')
-rw-r--r--not/Effect.lua32
1 files changed, 10 insertions, 22 deletions
diff --git a/not/Effect.lua b/not/Effect.lua
index dd7570a..6c0dad0 100644
--- a/not/Effect.lua
+++ b/not/Effect.lua
@@ -1,29 +1,15 @@
--- `Effect`
-- Short animation with graphics that plays in various situation.
--- TODO: animation is currently slower than it used to be, check if it is ok; if not then make it possible to change it to 0.06 delay.
-Effect = {
- finished = false,
-}
-
--- `Effect` is a child of `Decoration`.
-require "not.Decoration"
-Effect.__index = Effect
-setmetatable(Effect, Decoration)
+Effect = require "not.Decoration":extends()
-- Constructor of `Effect`.
-function Effect:new (name, x, y)
- local o = setmetatable({}, self)
- o:init(name, x, y)
- -- Load spritesheet statically.
- if self:getImage() == nil then
- self:setImage(Sprite.newImage("assets/effects.png"))
+function Effect:new (name, x, y, world)
+ -- TODO: Load spritesheet statically. Put it to load or somewhere else within non-existent resource manager.
+ if Effect:getImage() == nil then
+ Effect:setImage(Sprite.newImage("assets/effects.png"))
end
- return o
-end
-
--- Initializer of `Effect`.
-function Effect:init (name, x, y)
- Decoration.init(self, x, y, nil)
+ Effect.__super.new(self, x, y, world, nil)
+ self.finished = false
self:setAnimationsList(require("config.animations.effects"))
self:setAnimation(name)
end
@@ -31,7 +17,7 @@ end
-- Update of `Effect`.
-- Returns true if animation is finished and effect is ready to be deleted.
function Effect:update (dt)
- Decoration.update(self, dt)
+ Effect.__super.update(self, dt)
return self.finished
end
@@ -44,3 +30,5 @@ function Effect:goToNextFrame ()
self.finished = true
end
end
+
+return Effect