Mercurial > wow > skeletonkey
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 13:eeec4a600064 | 14:82170735e67c |
|---|---|
| 235 addon.tab = KT.tab | 235 addon.tab = KT.tab |
| 236 addon.print = KT.print | 236 addon.print = KT.print |
| 237 end | 237 end |
| 238 end | 238 end |
| 239 | 239 |
| 240 return addon, (DEVIAN_WORKSPACE and function(...) _G.print(name, ...) end or function() end) | 240 return addon, (DEVIAN_WORKSPACE and function(...) _G.print(name, ...) end or function() end), KT.wrap |
| 241 end | 241 end |
| 242 | 242 |
| 243 | 243 |
| 244 | 244 |
| 245 local onEvent = function(self, event, arg1) | 245 local onEvent = function(self, event, arg1) |
| 358 end | 358 end |
| 359 SetButtonAnchor(button, self.UIPanels, self.UIPanelAnchor, self.UIPanelGrowth) | 359 SetButtonAnchor(button, self.UIPanels, self.UIPanelAnchor, self.UIPanelGrowth) |
| 360 return button | 360 return button |
| 361 end | 361 end |
| 362 | 362 |
| 363 --- Co-routine Handler kajigger | |
| 364 do | |
| 365 local tickerQueue = {} | |
| 366 local ticker | |
| 367 local instant = false | |
| 368 KT.tick = function() | |
| 369 | |
| 370 if #tickerQueue == 0 then | |
| 371 ticker:Cancel() | |
| 372 ticker = nil | |
| 373 end | |
| 374 local func = tremove(tickerQueue, 1) | |
| 375 if func then | |
| 376 --print('#', #tickerQueue) | |
| 377 func() | |
| 378 end | |
| 379 end | |
| 380 | |
| 381 KT.wrap = function(f) | |
| 382 if not ticker then | |
| 383 --print('create ticker') | |
| 384 ticker = C_Timer.NewTicker(.001, KT.tick) | |
| 385 end | |
| 386 tinsert(tickerQueue, f) | |
| 387 | |
| 388 return #tickerQueue | |
| 389 | |
| 390 end | |
| 391 end | |
| 363 | 392 |
| 364 KT.handler:RegisterEvent('ADDON_LOADED') | 393 KT.handler:RegisterEvent('ADDON_LOADED') |
| 365 KT.handler:RegisterEvent('PLAYER_LOGIN') | 394 KT.handler:RegisterEvent('PLAYER_LOGIN') |
| 366 KT.handler:SetScript('OnEvent', onEvent) | 395 KT.handler:SetScript('OnEvent', onEvent) |
