summaryrefslogtreecommitdiffhomepage
path: root/not/Decoration.lua
diff options
context:
space:
mode:
Diffstat (limited to 'not/Decoration.lua')
-rw-r--r--not/Decoration.lua33
1 files changed, 33 insertions, 0 deletions
diff --git a/not/Decoration.lua b/not/Decoration.lua
new file mode 100644
index 0000000..9dc2bdd
--- /dev/null
+++ b/not/Decoration.lua
@@ -0,0 +1,33 @@
+--- `Decoration`
+-- Positioned sprite used to decorate maps with additional graphics.
+Decoration = {
+ world = --[[not.World]]nil,
+ x = 0,
+ y = 0
+}
+
+-- `Decoration` is a child of `Sprite`.
+require "not.Sprite"
+Decoration.__index = Decoration
+setmetatable(Decoration, Sprite)
+
+-- Constructor of `Decoration`.
+function Decoration:new (x, y, imagePath)
+ local o = setmetatable({}, self)
+ o:init(x, y, imagePath)
+ return o
+end
+
+-- Initializer of `Decoration`.
+function Decoration:init (x, y, imagePath)
+ Sprite.init(self, imagePath)
+ self:setPosition(x, y)
+end
+
+-- Position-related methods.
+function Decoration:getPosition ()
+ return self.x, self.y
+end
+function Decoration:setPosition (x, y)
+ self.x, self.y = x, y
+end \ No newline at end of file