diff SkeletonKey/ActionTemplates.lua @ 50:1aba8a6fd4a9

- fix kb.bindings content and define a generic function for constructing its keystrings - handle hotkey text for actions placed in multiple slots -- hotkey.actionbar generates a cache table for use during binding changes
author Nenue
date Fri, 19 Aug 2016 01:12:56 -0400
parents 9a9d7f2a7c07
children a545933ddf3d
line wrap: on
line diff
--- a/SkeletonKey/ActionTemplates.lua	Thu Aug 18 01:34:22 2016 -0400
+++ b/SkeletonKey/ActionTemplates.lua	Fri Aug 19 01:12:56 2016 -0400
@@ -149,12 +149,11 @@
     else
       macro:SetAttribute("*macrotext-"..macroName, macroText)
     end
-
-    cprint('Loading binding', actionType, actionID)
-    bindings[actionType] = bindings[actionType] or {}
-    bindings[actionType][actionID] = bindings[actionType][actionID] or {}
-    bindings[command] = bindings[actionType][actionID]
-    return bindings[actionType], actionID
+    local indexKey = actionType..'_'..actionID
+    cprint('Loading binding', indexKey)
+    bindings[indexKey] = bindings[indexKey] or {}
+    bindings[command] = bindings[indexKey]
+    return bindings[indexKey], actionID
   end
 
   kb.ApplyBindings = function (profile)
@@ -181,10 +180,10 @@
       if dummy then
         cprint('|cFFBBFF00Active:|r', dummy)
         local macroName, spellName, actionType, actionID = unpack(talentInfo)
-        bindings[actionType] = bindings[actionType] or {}
-        bindings[actionType][actionID] = {}
+        local indexKey = actionType .. '_' .. actionID
+        bindings[indexKey] = {}
         func = kb.ApplyTalentBinding
-        dest = kb.bindings[actionType][actionID]
+        dest = kb.bindings[indexKey]
       else
 
         cprint('|cFFFF4400Inactive:|r', talentInfo[2])
@@ -442,9 +441,9 @@
 end
 
 kb.UpdateBindingsCache = function(actionType, actionID, bindings)
-  kb.bindings[actionType] = kb.bindings[actionType] or {}
-  kb.bindings[actionType][actionID] = bindings
+  local indexKey = actionType .. '_' .. actionID
+  kb.bindings[indexKey] = bindings
 
-  print('|cFF00FF00'..actionType..'-'..actionID..'|r = {', table.concat(bindings,', '), '}')
+  print('|cFF00FF00'..indexKey..'|r = {', table.concat(bindings,', '), '}')
   tinsert(kb.ChangedBindings, {actionType, actionID})
 end
\ No newline at end of file