1 Dragonblocks.tasks = {}
3 function Dragonblocks:add_task(f)
4 local t = coroutine.create(f)
5 table.insert(self.tasks, t)
9 function Dragonblocks:step()
10 local t_start = socket.gettime()
11 local tasks = self.tasks
13 for _, t in ipairs(tasks) do
14 if coroutine.status(t) ~= "dead" and coroutine.resume(t) then
15 table.insert(self.tasks, t)
18 self.tps = 1 / (socket.gettime() - t_start)
21 function Dragonblocks:start_tasks()
23 until #self.tasks == 0