Mercurial > wow > skeletonkey
comparison SkeletonKey/ActionTemplates.lua @ 64:178d489f387c
- fix wrong attribute names being used for macros bound from a previous profile
| author | Nenue |
|---|---|
| date | Fri, 09 Sep 2016 11:40:53 -0400 |
| parents | 2409fe9b81e1 |
| children | 556e075983a6 |
comparison
equal
deleted
inserted
replaced
| 63:2409fe9b81e1 | 64:178d489f387c |
|---|---|
| 101 end | 101 end |
| 102 | 102 |
| 103 | 103 |
| 104 --- Resolves the SecureActionButton attribute names used for the given action | 104 --- Resolves the SecureActionButton attribute names used for the given action |
| 105 kb.RegisterAction = function(actionType, id, name) | 105 kb.RegisterAction = function(actionType, id, name) |
| 106 | |
| 107 assert(atype[actionType], 'Missing actionType handler for `'..tostring(actionType)..'`') | 106 assert(atype[actionType], 'Missing actionType handler for `'..tostring(actionType)..'`') |
| 108 local target, attributeName, attributeValue = atype[actionType](id, name) | 107 local target, attributeName, attributeValue = atype[actionType](id, name) |
| 109 | |
| 110 local command = target .. attributeName | 108 local command = target .. attributeName |
| 111 local baseName, iterative = attributeName, 1 | |
| 112 while (kb.macros[attributeName] and kb.macros[attributeName][1] ~= attributeValue) do | |
| 113 --print(' * cannot use|cFF00FF00', attributeName, '|r"'.. tostring(kb.macros[attributeName][1]) .. '"') | |
| 114 attributeName = baseName .. '_' .. iterative | |
| 115 iterative = iterative + 1 | |
| 116 end | |
| 117 if attributeName ~= baseName then | |
| 118 --print(' * Creating|cFF00FF00', attributeName) | |
| 119 else | |
| 120 --print(' * Re-using|cFF00FF00', attributeName) | |
| 121 end | |
| 122 kb.macros[attributeName] = {attributeValue, command} | 109 kb.macros[attributeName] = {attributeValue, command} |
| 123 | |
| 124 | |
| 125 --print('RegisterAction', actionType, id, '->', attributeName, attributeValue, target .. attributeName) | |
| 126 return attributeName, attributeValue, command | 110 return attributeName, attributeValue, command |
| 127 end | 111 end |
| 128 | 112 |
| 129 | 113 |
| 130 | 114 |
| 200 end | 184 end |
| 201 | 185 |
| 202 for key, command in pairs(profile.bindings) do | 186 for key, command in pairs(profile.bindings) do |
| 203 cprint('|cFF00FFFF'.. key .. '|r to|cFF00FF00', command, commandActions[command]) | 187 cprint('|cFF00FFFF'.. key .. '|r to|cFF00FF00', command, commandActions[command]) |
| 204 SetBinding(key, command) | 188 SetBinding(key, command) |
| 205 if kb.bindings[command] then | 189 if kb.bindings[command] and not tContains(kb.bindings[command], key) then |
| 206 tinsert(kb.bindings[command], key) | 190 tinsert(kb.bindings[command], key) |
| 207 end | 191 end |
| 208 end | 192 end |
| 209 | 193 |
| 210 for spellName, talentInfo in pairs(profile.talents) do | 194 for spellName, talentInfo in pairs(profile.talents) do |
| 257 kb.specInfo.id = GetSpecialization() | 241 kb.specInfo.id = GetSpecialization() |
| 258 kb.specInfo.globalID, kb.specInfo.name, kb.specInfo.desc, kb.specInfo.texture = GetSpecializationInfo(kb.specInfo.id) | 242 kb.specInfo.globalID, kb.specInfo.name, kb.specInfo.desc, kb.specInfo.texture = GetSpecializationInfo(kb.specInfo.id) |
| 259 end | 243 end |
| 260 | 244 |
| 261 kb.UpdateMacroInfo = function() | 245 kb.UpdateMacroInfo = function() |
| 262 for i = 1, GetNumMacros() do | 246 for index = 1, GetNumMacros() do |
| 263 local name = GetMacroInfo(index) | 247 local name = GetMacroInfo(index) |
| 264 kb.SecureAttribute(KeyBinderMacro, "*macro_"..tostring(name), i) | 248 kb.SecureAttribute(KeyBinderMacro, "*macro_"..tostring(name), i) |
| 265 end | 249 end |
| 266 end | 250 end |
| 267 | 251 |
