Remove redundant classes & added some Position methods.

This commit is contained in:
BenDol
2014-06-10 01:44:03 +12:00
parent 99b1ddf44c
commit ce9e443c60
3 changed files with 12 additions and 114 deletions

View File

@@ -1,44 +0,0 @@
--[[
@Authors: Ben Dol (BeniS)
@Details: CallbackEvent class shell for callback events
]]
CallbackEvent = newclass("CallbackEvent")
CallbackEvent.create = function(id, callback)
local event = CallbackEvent.internalCreate()
event.id = id
event.callback = callback
return event
end
-- gets/sets
--@RequiredBy:Queue
function CallbackEvent:getId()
return self.id
end
--@RequiredBy:Queue
function CallbackEvent:setId(id)
self.id = id
end
--@RequiredBy:Queue
function CallbackEvent:getCallback()
return self.callback
end
--@RequiredBy:Queue
function CallbackEvent:setCallback(callback)
self.callback = callback
end
-- logic
--@RequiredBy:Queue
function CallbackEvent:start()
-- Do nothing by default
end

View File

@@ -1,70 +0,0 @@
--[[
@Authors: Ben Dol (BeniS)
@Details: Queue class for event queuing.
]]
Queue = newclass("Queue")
Queue.create = function(callback)
local obj = Queue.internalCreate()
obj.queue = {}
obj.callback = callback
return obj
end
-- gets/sets
function Queue:getQueue()
return self.queue
end
function Queue:setQueue(queue)
self.queue = queue
end
function Queue:getCallback()
return self.callback
end
function Queue:setCallback(callback)
self.callback = callback
end
-- logic
function Queue:add(item)
table.insert(self.queue, item)
end
function Queue:start()
local compiled = function() self:finished() end
for k,event in pairs(self.queue) do
print("Compiling " .. tostring(event:getId()))
local snip = compiled
compiled = function()
local realCallback = event:getCallback()
event:setCallback(function()
print("Event compiled callback called")
realCallback()
-- next queue item
snip()
end)
print("Event started from queue chain")
event:start()
end
end
-- Start the queue chain
print("Start compiled chain")
compiled()
end
function Queue:finished()
print("Queue:finished")
local done = function()
local callback = self:getCallback()
if callback then callback() end
end
done()
end