diff options
author | Aki <nthirtyone@gmail.com> | 2017-04-07 03:24:40 +0200 |
---|---|---|
committer | Aki <nthirtyone@gmail.com> | 2017-04-07 03:24:40 +0200 |
commit | d1a19fea50aefc9d7fb52568a5bdcfb56d75eccf (patch) | |
tree | d86118b2bae5125f6cecd28a5a7b6f46739f30a9 /not/Element.lua | |
parent | 54e85dd188af15cd5f3f5e08f5d3e69088a909b1 (diff) | |
download | roflnauts-d1a19fea50aefc9d7fb52568a5bdcfb56d75eccf.zip roflnauts-d1a19fea50aefc9d7fb52568a5bdcfb56d75eccf.tar.gz roflnauts-d1a19fea50aefc9d7fb52568a5bdcfb56d75eccf.tar.bz2 |
Moved menu elements to /not/
Diffstat (limited to 'not/Element.lua')
-rw-r--r-- | not/Element.lua | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/not/Element.lua b/not/Element.lua new file mode 100644 index 0000000..e6d91da --- /dev/null +++ b/not/Element.lua @@ -0,0 +1,50 @@ +--- `Element` +-- Empty element used inside `Menu`. +Element = { + parent = --[[not.Menu]]nil, + x = 0, + y = 0 +} + +Element.__index = Element + +function Element:new (parent) + local o = setmetatable({}, self) + o.parent = parent + return o +end + +function Element:delete () end -- deletes Element + +function Element:getPosition () + return self.x, self.y +end +function Element:setPosition (x, y) + self.x = x or 0 + self.y = y or 0 + return self +end + +function Element:set (name, func) + if type(name) == "string" and func ~= nil then + self[name] = func + end + return self +end + +-- Called when menu tries to focus on this element. +-- If it will return false then menu will skip element and go to next in list. +function Element:focus () + return false +end +function Element:blur () end -- Called when Element loses focus. + +-- LÖVE2D callbacks +function Element:draw (scale) end +function Element:update (dt) end + +-- Controller callbacks +function Element:controlpressed (set, action, key) end +function Element:controlreleased (set, action, key) end + +return Element |