Mercurial > wow > buffalo2
comparison Modules/PaperDoll.lua @ 105:3992b41c637e
- Fixed a number of relic data retrieval issues
| author | Nenue |
|---|---|
| date | Sun, 29 Jan 2017 09:54:14 -0500 |
| parents | 1e511e9aaca5 |
| children | ddfe19d70a34 |
comparison
equal
deleted
inserted
replaced
| 104:8599826a68b7 | 105:3992b41c637e |
|---|---|
| 160 | 160 |
| 161 | 161 |
| 162 function VeneerPaperDollMixin:OnEvent(event, arg) | 162 function VeneerPaperDollMixin:OnEvent(event, arg) |
| 163 print(event, arg) | 163 print(event, arg) |
| 164 if event == 'ADDON_LOADED' then | 164 if event == 'ADDON_LOADED' then |
| 165 if IsLoggedIn() and not self.initialized then | |
| 166 self:Setup() | |
| 167 self.initialized = true | |
| 168 end | |
| 169 | |
| 170 | |
| 171 if arg == 'Blizzard_InspectUI' then | 165 if arg == 'Blizzard_InspectUI' then |
| 172 self:SetupInspectFrame() | 166 self:SetupInspectFrame() |
| 173 end | 167 end |
| 174 if arg == 'Blizzard_ArtifactUI' then | 168 if arg == 'Blizzard_ArtifactUI' then |
| 175 self:SetupArtifactUI() | 169 self:SetupArtifactUI() |
| 176 self:MarkForUpdate() | 170 self:MarkForUpdate() |
| 177 end | 171 end |
| 178 elseif event == 'ARTIFACT_UPDATE' then | 172 elseif event == 'ARTIFACT_UPDATE' then |
| 179 | |
| 180 if artifactSlot then | 173 if artifactSlot then |
| 181 print('just udpate artifact slot') | 174 print('just udpate artifact slot') |
| 182 artifactSlot:Update(true) | 175 artifactSlot:Update(true) |
| 183 end | 176 end |
| 184 | |
| 185 | |
| 186 else | 177 else |
| 187 if (event == 'PLAYER_SPECIALIZATION_CHANGED' or event == 'UNIT_INVENTORY_CHANGED') then | 178 if (event == 'PLAYER_SPECIALIZATION_CHANGED' or event == 'UNIT_INVENTORY_CHANGED') then |
| 188 if arg ~= 'player' then | 179 if arg ~= 'player' then |
| 189 return | 180 return |
| 190 end | 181 end |
| 191 elseif event == 'INSPECT_READY' then | 182 end |
| 192 | |
| 193 end | |
| 194 | |
| 195 self:MarkForUpdate() | 183 self:MarkForUpdate() |
| 196 | |
| 197 end | 184 end |
| 198 end | 185 end |
| 199 | 186 |
| 200 | 187 |
| 201 VeneerPaperDollSlotMixin = {} | 188 VeneerPaperDollSlotMixin = {} |
| 274 if numRelics and isEquipped then | 261 if numRelics and isEquipped then |
| 275 print('Relic Query:', itemID, numRelics) | 262 print('Relic Query:', itemID, numRelics) |
| 276 for i = 1, numRelics do | 263 for i = 1, numRelics do |
| 277 local lockedReason, relicName, relicIcon, relicLink = C_ArtifactUI.GetRelicInfo(i); | 264 local lockedReason, relicName, relicIcon, relicLink = C_ArtifactUI.GetRelicInfo(i); |
| 278 local relicType = C_ArtifactUI.GetRelicSlotType(i); | 265 local relicType = C_ArtifactUI.GetRelicSlotType(i); |
| 279 if relicIcon then | 266 print(relicType) |
| 267 if relicType then | |
| 268 if relicLink then | |
| 280 tooltip:SetHyperlink(relicLink) | 269 tooltip:SetHyperlink(relicLink) |
| 281 print(tooltip:NumLines()) | 270 print(tooltip:NumLines()) |
| 282 | 271 |
| 283 local line1 = _G['VeneerPaperDollTooltipTextLeft2'] | 272 local line1 = _G['VeneerPaperDollTooltipTextLeft2'] |
| 284 local line2 = _G['VeneerPaperDollTooltipTextLeft3'] | 273 local line2 = _G['VeneerPaperDollTooltipTextLeft3'] |
| 285 local text1 = line1 and line1:GetText() | 274 local text1 = line1 and line1:GetText() |
| 286 local text2 = line2 and line2:GetText() | 275 local text2 = line2 and line2:GetText() |
| 287 if text1 or text2 then | 276 if text1 or text2 then |
| 288 self.SocketText[i] = text1:match('Item Level (%d+)') or text2:match('Item Level (%d+)') | 277 self.SocketText[i] = text1:match('Item Level (%d+)') or text2:match('Item Level (%d+)') |
| 278 end | |
| 289 end | 279 end |
| 290 | 280 |
| 291 self.SocketInfo[i] = relicIcon | 281 self.SocketInfo[i] = relicIcon or 0 |
| 292 self.SocketType[i] = relicType | 282 self.SocketType[i] = relicType |
| 293 self.SocketLink[i] = relicLink | 283 self.SocketLink[i] = relicLink |
| 294 print('storing', i, self.SocketInfo[i], self.SocketText[i], self.SocketType[i], self.SocketLink[i]) | 284 print('storing', i, self.SocketInfo[i], self.SocketText[i], self.SocketType[i], self.SocketLink[i]) |
| 295 else | 285 else |
| 296 | 286 |
| 287 | |
| 297 self.SocketInfo[i] = "Interface\\CharacterFrame\\TempPortraitAlphaMask" | 288 self.SocketInfo[i] = "Interface\\CharacterFrame\\TempPortraitAlphaMask" |
| 289 self.SocketType[i] = nil | |
| 290 self.SocketLink[i] = nil | |
| 291 end | |
| 292 | |
| 293 relicCache[i] = {self.SocketInfo[i], self.SocketText[i], self.SocketType[i], self.SocketLink[i]} | |
| 294 end | |
| 295 else | |
| 296 | |
| 297 for i = 1, 3 do | |
| 298 if relicCache[i] then | |
| 299 local relicIcon, relicText, relicType, relicLink = unpack(relicCache[i]) | |
| 300 | |
| 301 print('loading', i, relicIcon, relicText, relicType, relicLink) | |
| 302 self.SocketInfo[i] = relicIcon | |
| 303 self.SocketText[i] = relicText | |
| 298 self.SocketType[i] = relicType | 304 self.SocketType[i] = relicType |
| 299 self.SocketLink[i] = nil | 305 self.SocketLink[i] = relicLink |
| 300 end | 306 end |
| 301 | |
| 302 relicCache[i] = {self.SocketInfo[i], self.SocketText[i], self.SocketType[i], self.SocketLink[i]} | |
| 303 end | |
| 304 end | |
| 305 | |
| 306 for i = 1, 3 do | |
| 307 if relicCache[i] then | |
| 308 local relicIcon, relicLevel, relicType, relicLink = unpack(relicCache[i]) | |
| 309 | |
| 310 print('loading', i, relicIcon, relicLevel, relicType, relicLink) | |
| 311 self.SocketInfo[i] = relicIcon | |
| 312 self.SocketText[i] = relicLevel | |
| 313 self.SocketType[i] = relicType | |
| 314 self.SocketLink[i] = relicLink | |
| 315 end | 307 end |
| 316 end | 308 end |
| 317 end | 309 end |
| 318 | 310 |
| 319 function VeneerPaperDollSlotMixin:Update(forced) | 311 function VeneerPaperDollSlotMixin:Update(forced) |
| 391 label:ClearAllPoints() | 383 label:ClearAllPoints() |
| 392 label:SetPoint('BOTTOM', icon, 'TOP',0, 2) | 384 label:SetPoint('BOTTOM', icon, 'TOP',0, 2) |
| 393 label:SetFontObject(VeneerNumberFont) | 385 label:SetFontObject(VeneerNumberFont) |
| 394 label:SetText(self.SocketText[index]) | 386 label:SetText(self.SocketText[index]) |
| 395 | 387 |
| 396 if self.checkRelic then | 388 if self.checkRelic and self.SocketType[index] then |
| 389 print(self.SocketType[index]) | |
| 397 local relicAtlasName = ("Relic-%s-Slot"):format(self.SocketType[index]); | 390 local relicAtlasName = ("Relic-%s-Slot"):format(self.SocketType[index]); |
| 398 self.Sockets.SocketBg = self.Sockets.SocketBg or {} | 391 self.Sockets.SocketBg = self.Sockets.SocketBg or {} |
| 399 self.Sockets.SocketBg[index] = self.Sockets.SocketBg[index] or self.Sockets:CreateTexture() | 392 self.Sockets.SocketBg[index] = self.Sockets.SocketBg[index] or self.Sockets:CreateTexture() |
| 400 self.Sockets.SocketBg[index]:SetAtlas(relicAtlasName) | 393 self.Sockets.SocketBg[index]:SetAtlas(relicAtlasName) |
| 401 self.Sockets.SocketBg[index]:SetPoint('TOPRIGHT', icon, 'TOPRIGHT', 12, 12) | 394 self.Sockets.SocketBg[index]:SetPoint('TOPRIGHT', icon, 'TOPRIGHT', 12, 12) |
| 402 self.Sockets.SocketBg[index]:SetPoint('BOTTOMLEFT', icon, 'BOTTOMLEFT', -12,-12) | 395 self.Sockets.SocketBg[index]:SetPoint('BOTTOMLEFT', icon, 'BOTTOMLEFT', -12,-12) |
| 403 --print('', self.SocketType[index], relicAtlasName) | 396 --print('', self.SocketType[index], relicAtlasName) |
| 397 if self.SocketInfo[index] == 0 then | |
| 398 icon:SetAtlas("Relic-SlotBG") | |
| 399 end | |
| 404 | 400 |
| 405 socketsHeight = self.Sockets.SocketBg[index]:GetHeight() | 401 socketsHeight = self.Sockets.SocketBg[index]:GetHeight() |
| 406 print(socketsWidth, socketsHeight) | 402 print(socketsWidth, socketsHeight) |
| 407 end | 403 end |
| 408 | 404 |
