Mercurial > wow > skeletonkey
view SkeletonKey/Events.lua @ 17:500f9b2bd9ac
- for RegisterAction, use a function table instead of that if/then rats nest
- consequently pet bar actions work now
- unlocalize bindings data
- activate keyslot input manually instead of on mouse over
- activate checkbox to keep input mode active
- dynamic buttons update in real time for petaction/talent/profession spells
author | Nenue |
---|---|
date | Sat, 30 Jul 2016 00:08:00 -0400 |
parents | 32d64e42ec9b |
children | 73df13211b22 |
line wrap: on
line source
-- KrakTool -- Events.lua -- Created: 7/24/2016 11:10 PM -- %file-revision% -- Event handlers, and the init block that sets them up; nothing else should be here local kb, print = LibStub("LibKraken").register(KeyBinder) kb.init = function() kb:RegisterEvent('PLAYER_ENTERING_WORLD') kb:RegisterEvent('UPDATE_MACROS') kb:RegisterUnitEvent('PLAYER_SPECIALIZATION_CHANGED', 'player', 'pet') kb:RegisterUnitEvent('UNIT_PORTRAIT_UPDATE', 'player', 'pet') kb:RegisterUnitEvent('SPELLS_CHANGED') kb:RegisterUnitEvent('TALENT_UPDATE', 'player', 'pet') kb:RegisterEvent('PLAYER_REGEN_DISABLED') kb:RegisterEvent('PLAYER_REGEN_ENABLED') end kb.event = function(event, ...) if kb[event] then kb[event](kb, event, ...) end end kb.PLAYER_REGEN_DISABLED = function() kb.ui() end kb.UNIT_PORTRAIT_UPDATE = function() if KeyBinderCharacterTab then SetPortraitTexture(KeyBinderCharacterTab.icon, 'player') end end kb.PLAYER_REGEN_ENABLED = function() kb.ui() end kb.PLAYER_SPECIALIZATION_CHANGED = function() kb.UpdateSpecInfo() kb.UpdateTalentInfo() kb.SelectProfileSet(kb.profileName) kb.ApplyAllBindings() kb.ui(true) end kb.PLAYER_TALENT_UPDATE = function() kb.UpdateTalentInfo() kb.SelectProfileSet(kb.profileName) kb.ApplyAllBindings() kb.ui() end kb.ACTIONBAR_SLOT_CHANGED = function(self, event, slot) kb.HotKeyText(slot) return true end -- only need to respond to this for pet actions kb.SPELLS_CHANGED = function(self, event, unit) print('|cFFFF0088'.. event..'|r', unit) kb.UpdatePetInfo() end