diff SkeletonKey/DynamicTypes.lua @ 19:67db6b712bf3

- option checkbutton literals are stored by enclosure - detect and save any old keybindings when a slot is assigned (anything that begins with 'CLICK KeyBinder*' is ours) - mouseover mode key input will stay active after leaving a button - button border flashes when a non-modifier key is pressed
author Nenue
date Sat, 30 Jul 2016 19:08:11 -0400
parents 500f9b2bd9ac
children 34a2e8d93448
line wrap: on
line diff
--- a/SkeletonKey/DynamicTypes.lua	Sat Jul 30 03:33:09 2016 -0400
+++ b/SkeletonKey/DynamicTypes.lua	Sat Jul 30 19:08:11 2016 -0400
@@ -4,179 +4,3 @@
 -- %file-revision%
 -- Logic related to dynamic handlers
 local kb, print = LibStub('LibKraken').register(KeyBinder, 'PlayerInfo')
-
-local PET_SPECIAL_SUBTEXT = 'Special Ability'
-local SECONDARY_PROFESSIONS = {
-  [5] = 3,
-  [7] = 4,
-  [9] = 5,
-  [10] = 6
-}
-
-kb.TalentCache = {}
-kb.ProfessionCache = {}
-kb.PetCache = {}
-kb.specInfo = {}
-kb.UpdateSpecInfo = function()
-  kb.specInfo.id = GetSpecialization()
-  kb.specInfo.globalID, kb.specInfo.name, kb.specInfo.desc, kb.specInfo.texture = GetSpecializationInfo(kb.specInfo.id)
-  print('|cFF00FF00current spec:|r', kb.specInfo.id, 'of', GetNumSpecializations())
-end
-
-kb.UpdateTalentInfo = function()
-  if kb.talentsPushed then
-    return
-  end
-  table.wipe(kb.TalentCache)
-  for row =1, MAX_TALENT_TIERS do
-    for col = 1, NUM_TALENT_COLUMNS do
-      local talentID, talentName, icon, selected, available, spellID = GetTalentInfo(row, col, 1)
-      local talentInfo = kb.TalentCache[spellID] or {}
-      talentInfo.row = 1
-      talentInfo.col = col
-      talentInfo.name = talentName
-      talentInfo.talentID = talentID
-      talentInfo.selected = selected
-      talentInfo.available = available
-      talentInfo.spellID = spellID
-      kb.TalentCache[spellID] = talentInfo
-      kb.TalentCache[talentName] = talentInfo
-      print('Talent ', row, col, spellID, talentName)
-    end
-  end
-  kb.talentsPushed = true
-
-  kb.UpdateDynamicButtons('talent')
-end
-
-kb.UpdateProfessionInfo = function()
-  table.wipe(kb.ProfessionCache)
-  local profs = {GetProfessions() }
-  local primaryNum = 0
-  for i, index in ipairs(profs) do
-    local profName, texture, rank, maxRank, numSpells, spellOffset = GetProfessionInfo(index)
-    print(i, index, profName, numSpells, spellOffset)
-    if not SECONDARY_PROFESSIONS[index] then
-      primaryNum = primaryNum + 1
-    end
-    local profNum = SECONDARY_PROFESSIONS[index] or primaryNum
-
-
-    kb.ProfessionCache[profNum] = kb.ProfessionCache[i] or {}
-
-    for j = 1, numSpells do
-      local spellName, _, icon, _, _, _, spellID = GetSpellInfo(spellOffset+j, BOOKTYPE_PROFESSION)
-
-      local profInfo = {
-        spellName = spellName,
-        spellID = spellID,
-        icon = icon,
-        profOffset = i,
-        profIndex = index,
-        spellOffset = (spellOffset+j),
-        spellNum = j
-      }
-      KeyBinderKey:SetAttribute("*type-profession_"..i .. '_' ..j, "spell")
-      KeyBinderKey:SetAttribute("*spell-profession_"..i .. '_' ..j, spellName)
-
-      kb.ProfessionCache[i .. '_' .. j] = profInfo
-      kb.ProfessionCache[spellName] = profInfo
-      kb.ProfessionCache[spellID] = profInfo
-      print('  |cFF0088FF['..i..']|r|cFFFF44BB['..spellOffset+i..']|r', spellName, "profession_"..i .. '_' ..j)
-    end
-
-  end
-
-  kb.UpdateDynamicButtons('profession')
-end
-
-
-
-kb.UpdatePetInfo = function()
-  kb.PetCache.spell = kb.PetCache.spell or {}
-  kb.PetCache.spellslot = kb.PetCache.spellslot or {}
-  kb.PetCache.action = kb.PetCache.action or {}
-  kb.PetCache.special = kb.PetCache.action or {}
-  local hasPetSpells, petType = HasPetSpells()
-  if PetHasSpellbook() then
-    print('PET SPELLBOOK')
-    local i = 1
-    local specialNum = 0
-    repeat
-
-      local spellType, spellID = GetSpellBookItemInfo(i, BOOKTYPE_PET)
-      local spellName, subText = GetSpellBookItemName(i, BOOKTYPE_PET)
-      local isPassive = IsPassiveSpell(i, BOOKTYPE_PET)
-      if not isPassive then
-        if spellName then
-          kb.PetCache.spellslot[spellName] = {i, spellName, subText}
-          print('|cFF00FF88spellslot['..spellName..']|r', '=>', i, subText)
-
-          if subText == PET_SPECIAL_SUBTEXT then
-            specialNum = specialNum + 1
-            kb.PetCache.special[spellName] = {i, specialNum, spellID, subText }
-            print('|cFF00FFFFspecial['..spellName..']|r', '=>', i, specialNum, spellID, subText)
-          end
-
-          if spellID then
-            kb.PetCache.spell[i] = {spellID, spellName, subText}
-            print('|cFF0088FFspell['..i..']|r', '=>', spellID, spellName, subText)
-          end
-        end
-
-
-      end
-
-      i = i + 1
-    until spellType == nil
-  else
-    print('NO PET SPELLBOOK')
-    table.wipe(kb.PetCache.spell)
-    table.wipe(kb.PetCache.spellslot)
-  end
-
-  if PetHasActionBar() then
-    print('PET ACTION BAR')
-    for i = 1, 10 do
-
-
-      local name, subtext, texture, isToken, isActive = GetPetActionInfo(i)
-      if name then
-        kb.PetCache.action[i] = {name, subtext, texture, isToken, isActive }
-
-
-      end
-      print('|cFFFFFF00action['..i..']|r', name, subtext, texture)
-    end
-  else
-    print('NO PET ACTION BAR')
-    table.wipe(kb.PetCache.action)
-  end
-
-  kb.UpdateDynamicButtons('petaction')
-
-end
-
-kb.SystemBinds = {}
-kb.UpdateSystemBinds = function()
-  table.wipe(kb.SystemBinds)
-  local n = GetNumBindings()
-  for i=1, n do
-    local command, key1, key2 = GetBinding(i)
-    if key1 then
-      kb.SystemBinds[key1] = command
-    end
-    if key2 then
-      kb.SystemBinds[key2] = command
-    end
-  end
-
-end
-
-kb.UpdateDynamicButtons = function(dynamicType)
-  for i, button in ipairs(kb.buttons) do
-    if button.isDynamic == dynamicType then
-      kb.UpdateSlot(button, true)
-    end
-  end
-end
\ No newline at end of file