view SkeletonKey/Events.lua @ 15:32d64e42ec9b

- resolve pet bar actions for binding slots - detect type of petaction (can be spell, stance, or 'PETACTION') - keep track of displayed pet ability slots and update them alongside pet cache refreshes
author Nenue
date Fri, 29 Jul 2016 03:27:15 -0400
parents 8f8917d111c9
children 500f9b2bd9ac
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.ApplyAllBindings()
  kb.ui(true)
end
kb.PLAYER_TALENT_UPDATE = function()
  kb.UpdateTalentInfo()
  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