Mercurial > wow > skeletonkey
diff LibKraken/LibKraken-1.0.lua @ 14:82170735e67c
- move co-routine handler to general lib
- slightly better handling of pet actions
author | Nenue |
---|---|
date | Thu, 28 Jul 2016 23:58:53 -0400 |
parents | a2fc77fa4c73 |
children |
line wrap: on
line diff
--- a/LibKraken/LibKraken-1.0.lua Thu Jul 28 18:20:32 2016 -0400 +++ b/LibKraken/LibKraken-1.0.lua Thu Jul 28 23:58:53 2016 -0400 @@ -237,7 +237,7 @@ end end - return addon, (DEVIAN_WORKSPACE and function(...) _G.print(name, ...) end or function() end) + return addon, (DEVIAN_WORKSPACE and function(...) _G.print(name, ...) end or function() end), KT.wrap end @@ -360,6 +360,35 @@ return button end +--- Co-routine Handler kajigger +do + local tickerQueue = {} + local ticker + local instant = false + KT.tick = function() + + if #tickerQueue == 0 then + ticker:Cancel() + ticker = nil + end + local func = tremove(tickerQueue, 1) + if func then + --print('#', #tickerQueue) + func() + end + end + + KT.wrap = function(f) + if not ticker then + --print('create ticker') + ticker = C_Timer.NewTicker(.001, KT.tick) + end + tinsert(tickerQueue, f) + + return #tickerQueue + + end +end KT.handler:RegisterEvent('ADDON_LOADED') KT.handler:RegisterEvent('PLAYER_LOGIN')