Mercurial > wow > askmrrobot
comparison Gear.lua @ 181:5c586ff5fee5 v85
gear ui should now show essence differences
author | yellowfive |
---|---|
date | Fri, 14 Feb 2020 14:53:46 -0800 |
parents | d90a740a1d0b |
children | c6369f8f277c |
comparison
equal
deleted
inserted
replaced
180:82598dc4fe2e | 181:5c586ff5fee5 |
---|---|
221 local player = Amr:ExportCharacter() | 221 local player = Amr:ExportCharacter() |
222 | 222 |
223 local gear | 223 local gear |
224 local spec | 224 local spec |
225 local setupIndex | 225 local setupIndex |
226 local essences | 226 local essences |
227 for i, setup in ipairs(Amr.db.char.GearSetups) do | 227 for i, setup in ipairs(Amr.db.char.GearSetups) do |
228 if setup.Id == setupId then | 228 if setup.Id == setupId then |
229 setupIndex = i | 229 setupIndex = i |
230 gear = setup.Gear | 230 gear = setup.Gear |
231 spec = setup.SpecSlot | 231 spec = setup.SpecSlot |
233 break | 233 break |
234 end | 234 end |
235 end | 235 end |
236 | 236 |
237 local equipped = player.Equipped[player.ActiveSpec] | 237 local equipped = player.Equipped[player.ActiveSpec] |
238 | 238 local equippedEssences = player.Essences[player.ActiveSpec] |
239 | |
239 if not gear then | 240 if not gear then |
240 -- no gear has been imported for this spec so show a message | 241 -- no gear has been imported for this spec so show a message |
241 renderEmptyGear(container) | 242 renderEmptyGear(container) |
242 else | 243 else |
243 local panelGear = AceGUI:Create("AmrUiPanel") | 244 local panelGear = AceGUI:Create("AmrUiPanel") |
392 | 393 |
393 prevSocket = socketBorder | 394 prevSocket = socketBorder |
394 end | 395 end |
395 end | 396 end |
396 elseif isEssence then | 397 elseif isEssence then |
397 -- TODO: render essence differences | 398 for i = 1, 4 do |
399 if essences and #essences >= i then | |
400 local essence = essences[i] | |
401 local equippedEssence = equippedEssences and #equippedEssences >= i and equippedEssences[i] or nil | |
402 if essence then | |
403 local essenceInfo = C_AzeriteEssence.GetEssenceInfo(essence[2]) | |
404 if essenceInfo then | |
405 local isEssenceActive = equippedEssence and equippedEssence[2] == essence[2] | |
406 | |
407 local socketBorder, socketIcon = createSocketWidget(panelMods, prevSocket or lblItem, prevSocket, isEssenceActive) | |
408 | |
409 -- set icon and tooltip | |
410 socketIcon:SetIcon(essenceInfo.icon) | |
411 Amr:SetEssenceTooltip(socketIcon, string.format("azessence:%d:%d", essence[2], essence[3]) , "ANCHOR_TOPRIGHT") | |
412 | |
413 --[[ | |
414 if essence[1] and essence[1] > 4 then | |
415 Amr:SetSpellTooltip(socketIcon, essence[1], "ANCHOR_TOPRIGHT") | |
416 end]] | |
417 | |
418 prevSocket = socketBorder | |
419 end | |
420 end | |
421 end | |
422 end | |
398 else | 423 else |
399 for i = 1, #optimalItem.gemIds do | 424 for i = 1, #optimalItem.gemIds do |
400 -- we rely on the fact that the gear sets coming back from the site will almost always have all sockets filled, | 425 -- we rely on the fact that the gear sets coming back from the site will almost always have all sockets filled, |
401 -- because it's a pain to get the actual number of sockets on an item from within the game | 426 -- because it's a pain to get the actual number of sockets on an item from within the game |
402 local g = optimalItem.gemIds[i] | 427 local g = optimalItem.gemIds[i] |
1270 -- moves any gear in bags to the bank if not part of a gear set | 1295 -- moves any gear in bags to the bank if not part of a gear set |
1271 function Amr:CleanBags() | 1296 function Amr:CleanBags() |
1272 -- TODO: implement | 1297 -- TODO: implement |
1273 end | 1298 end |
1274 | 1299 |
1275 --[[ | 1300 |
1276 local function testfunc(message) | 1301 local function testfunc(message) |
1277 print(strsub(message, 13)) | 1302 print(strsub(message, 13)) |
1278 end | 1303 end |
1279 ]] | 1304 |
1280 | 1305 |
1281 function Amr:InitializeGear() | 1306 function Amr:InitializeGear() |
1282 Amr:AddEventHandler("ACTIVE_TALENT_GROUP_CHANGED", onActiveTalentGroupChanged) | 1307 Amr:AddEventHandler("ACTIVE_TALENT_GROUP_CHANGED", onActiveTalentGroupChanged) |
1283 | 1308 |
1284 --Amr:AddEventHandler("CHAT_MSG_CHANNEL", testfunc) | 1309 Amr:AddEventHandler("CHAT_MSG_CHANNEL", testfunc) |
1285 | 1310 |
1286 Amr:AddEventHandler("UNIT_INVENTORY_CHANGED", function(unitID) | 1311 Amr:AddEventHandler("UNIT_INVENTORY_CHANGED", function(unitID) |
1287 if unitID and unitID ~= "player" then return end | 1312 if unitID and unitID ~= "player" then return end |
1288 | 1313 |
1289 -- don't update during a gear operation, wait until it is totally finished | 1314 -- don't update during a gear operation, wait until it is totally finished |