Mercurial > wow > skeletonkey
comparison ActionTemplates.lua @ 72:c48913c5924c
- Dynamic bindings properly update between talent choices, and the hotkey text is also correctly reflected.
| author | Nenue |
|---|---|
| date | Sat, 07 Jan 2017 12:47:41 -0500 |
| parents | ca3118127e5e |
| children | 68365bda5ab5 |
comparison
equal
deleted
inserted
replaced
| 71:ca3118127e5e | 72:c48913c5924c |
|---|---|
| 148 | 148 |
| 149 | 149 |
| 150 local indexKey = actionType..'_'..actionID | 150 local indexKey = actionType..'_'..actionID |
| 151 local actionPrefix = "*"..actionType.."-" | 151 local actionPrefix = "*"..actionType.."-" |
| 152 local button = SkeletonKeyKey | 152 local button = SkeletonKeyKey |
| 153 local isAvailable = true | 153 local isAvailable |
| 154 local specialButtonType | 154 local specialButtonType |
| 155 if actionType == 'spell' then | 155 if actionType == 'spell' then |
| 156 if not GetSpellInfo(actionID) then | 156 cprint(GetSpellInfo(actionID)) |
| 157 isAvailable = nil | 157 cprint(GetSpellInfo(name)) |
| 158 if GetSpellInfo(name) then | |
| 159 isAvailable = true | |
| 158 end | 160 end |
| 159 local dynamicInfo = kb.DynamicSpells[name] | 161 local dynamicInfo = kb.DynamicSpells[name] |
| 160 if dynamicInfo then | 162 if dynamicInfo then |
| 161 configTable.assignedKeys = configTable.assignedKeys or {GetBindingKey(configTable.command)} | 163 configTable.assignedKeys = configTable.assignedKeys or {GetBindingKey(configTable.command)} |
| 162 cprint('|cFF00FFFFDynamicInfo:|r', dynamicInfo.dynamicType, table.concat(configTable.assignedKeys or {}, ',')) | 164 cprint('|cFF00FFFFDynamicInfo:|r', dynamicInfo.dynamicType, table.concat(configTable.assignedKeys, ',')) |
| 163 for k, v in pairs(dynamicInfo) do | 165 for k, v in pairs(dynamicInfo) do |
| 164 --cprint(' --', k, v) | 166 --cprint(' --', k, v) |
| 165 configTable[k] = v | 167 configTable[k] = v |
| 166 end | 168 end |
| 167 end | 169 end |
| 168 | 170 |
| 169 | |
| 170 else | 171 else |
| 171 if actionType ~= 'macro' then | 172 if actionType ~= 'macro' then |
| 172 actionPrefix = '*macrotext-' | 173 actionPrefix = '*macrotext-' |
| 173 end | 174 end |
| 174 | 175 |
| 175 specialButtonType = 'macro' | 176 specialButtonType = 'macro' |
| 176 end | 177 end |
| 177 | 178 |
| 178 local attributeSuffix, attributeValue, command, target, button = kb.RegisterAction(actionType, actionID, name) | |
| 179 local actionKey = actionPrefix .. attributeSuffix | |
| 180 cprint('|cFF00FF88LoadBinding()|r', button:GetName(), "*type-"..attributeSuffix, actionType, '|cFFFFFF00'..actionKey, attributeValue) | |
| 181 | |
| 182 | |
| 183 | |
| 184 | |
| 185 if isAvailable then | 179 if isAvailable then |
| 180 | |
| 181 local attributeSuffix, attributeValue, command, target, button = kb.RegisterAction(actionType, actionID, name) | |
| 182 local actionKey = actionPrefix .. attributeSuffix | |
| 183 cprint('|cFF00FF88LoadBinding()|r', button:GetName(), "*type-"..attributeSuffix, actionType, '|cFFFFFF00'..actionKey, attributeValue, isAvailable) | |
| 184 | |
| 185 | |
| 186 kb.SecureAttribute(button, "*type-"..attributeSuffix, specialButtonType or actionType) | 186 kb.SecureAttribute(button, "*type-"..attributeSuffix, specialButtonType or actionType) |
| 187 kb.SecureAttribute(button, actionKey, attributeValue) | 187 kb.SecureAttribute(button, actionKey, attributeValue) |
| 188 | |
| 189 cprint('|cFFFF4400add', name, isAvailable, indexKey, unpack(configTable.assignedKeys)) | |
| 188 kb.bindings[indexKey] = configTable.assignedKeys | 190 kb.bindings[indexKey] = configTable.assignedKeys |
| 189 commandActions[command] = kb.bindings[indexKey] | 191 commandActions[command] = kb.bindings[indexKey] |
| 190 return command, kb.bindings[indexKey] | 192 return command, kb.bindings[indexKey] |
| 191 else | 193 else |
| 194 if kb.bindings[indexKey] then | |
| 195 cprint('|cFFFF4400remove', name, isAvailable, indexKey, unpack(configTable.assignedKeys)) | |
| 196 kb.bindings[indexKey] = nil | |
| 197 end | |
| 198 | |
| 192 return nil | 199 return nil |
| 193 end | 200 end |
| 194 end | 201 end |
| 195 | 202 |
| 196 | 203 |
| 302 configTable.assignedKeys = talent.assignedKeys | 309 configTable.assignedKeys = talent.assignedKeys |
| 303 end | 310 end |
| 304 if not configTable.assignedKeys then | 311 if not configTable.assignedKeys then |
| 305 configTable.assignedKeys = {GetBindingKey(configTable.command) } | 312 configTable.assignedKeys = {GetBindingKey(configTable.command) } |
| 306 end | 313 end |
| 307 configTable.isAvailable = true | |
| 308 if configTable.dynamicType then | 314 if configTable.dynamicType then |
| 309 kb:print(table.concat(configTable.assignedKeys, ', ') .. ' bound to '.. configTable.actionName) | 315 kb:print(table.concat(configTable.assignedKeys, ', ') .. ' bound to '.. configTable.actionName) |
| 310 end | 316 end |
| 311 | |
| 312 end | 317 end |
| 313 end | 318 end |
| 314 end | 319 end |
| 315 | 320 |
| 316 kb.ApplyAllBindings =function () | 321 kb.ApplyAllBindings =function () |
| 333 end | 338 end |
| 334 -- do this after to ensure that profession binds are properly overridden | 339 -- do this after to ensure that profession binds are properly overridden |
| 335 kb.UpdateProfessionInfo() | 340 kb.UpdateProfessionInfo() |
| 336 | 341 |
| 337 SaveBindings(GetCurrentBindingSet()) | 342 SaveBindings(GetCurrentBindingSet()) |
| 343 | |
| 338 end | 344 end |
| 339 end | 345 end |
| 340 | 346 |
| 341 | 347 |
| 342 kb.specInfo = {} | 348 kb.specInfo = {} |
