annotate AskMrRobotUi.lua @ 13:bb0c8ce689d1 v1.2.15.0

fixed minor bug on startup with new settings
author yellowfive
date Thu, 10 Jul 2014 15:25:18 -0700
parents ece9167c0d1c
children e77e01abce98
rev   line source
adam@0 1 local _, AskMrRobot = ...
yellowfive@11 2 local L = AskMrRobot.L;
adam@0 3
adam@0 4 local showImportDetailsError = nil
adam@0 5 local showImportErrorTab = nil
adam@0 6
adam@0 7 AskMrRobot.AmrUI = AskMrRobot.inheritsFrom(AskMrRobot.Frame)
adam@0 8
adam@0 9 function AskMrRobot.AmrUI:swapSimilarSlotsIfNeeded(slotName1, slotName2)
adam@0 10 local slotId1 = GetInventorySlotInfo(slotName1)
adam@0 11 local slotId2 = GetInventorySlotInfo(slotName2)
adam@0 12 local slotNum1 = AskMrRobot.slotIdToSlotNum[slotId1]
adam@0 13 local slotNum2 = AskMrRobot.slotIdToSlotNum[slotId2]
adam@0 14
adam@0 15 local itemLink1 = GetInventoryItemLink("player", slotId1)
adam@0 16 local itemLink2 = GetInventoryItemLink("player", slotId2)
adam@0 17
adam@0 18 -- see how bad the items are in the original order
adam@0 19 AskMrRobot.populateItemDiffs(self.importedItems[slotNum1], itemLink1, slotNum1)
adam@0 20 AskMrRobot.populateItemDiffs(self.importedItems[slotNum2], itemLink2, slotNum2)
adam@0 21
adam@0 22 local badCountOriginalOrder = 0
adam@0 23 if AskMrRobot.itemDiffs.items[slotNum1] then badCountOriginalOrder = badCountOriginalOrder + 1 end
adam@0 24 if AskMrRobot.itemDiffs.items[slotNum2] then badCountOriginalOrder = badCountOriginalOrder + 1 end
adam@0 25
adam@0 26 -- try the order swapped
adam@0 27 AskMrRobot.populateItemDiffs(self.importedItems[slotNum1], itemLink2, slotNum1)
adam@0 28 AskMrRobot.populateItemDiffs(self.importedItems[slotNum2], itemLink1, slotNum2)
adam@0 29
adam@0 30 local badCountNewOrder = 0
adam@0 31 if AskMrRobot.itemDiffs.items[slotNum1] then badCountNewOrder = badCountNewOrder + 1 end
adam@0 32 if AskMrRobot.itemDiffs.items[slotNum2] then badCountNewOrder = badCountNewOrder + 1 end
adam@0 33
adam@0 34 -- if the items were less bad in the new order, swap the imported items
adam@0 35 if badCountNewOrder < badCountOriginalOrder then
adam@0 36 local tempItem = self.importedItems[slotNum1]
adam@0 37 self.importedItems[slotNum1] = self.importedItems[slotNum2]
adam@0 38 self.importedItems[slotNum2] = tempItem
adam@0 39 end
adam@0 40 end
adam@0 41
adam@0 42 function AskMrRobot.AmrUI:displayImportItems()
adam@0 43 if not self.importedItems then
adam@0 44 return false
adam@0 45 end
adam@0 46
adam@0 47 --see if rings or trinkets are swapped, and alter self.importedItems accordingly
adam@0 48 self:swapSimilarSlotsIfNeeded("Finger0Slot", "Finger1Slot")
adam@0 49 self:swapSimilarSlotsIfNeeded("Trinket0Slot", "Trinket1Slot")
adam@0 50
adam@0 51 for slotNum = 1, #AskMrRobot.slotIds do
adam@0 52 if AskMrRobot.OptimizationSlots[slotNum] then
adam@0 53 local slotId = AskMrRobot.slotIds[slotNum]
adam@0 54 local itemLink = GetInventoryItemLink("player", slotId)
adam@0 55 AskMrRobot.populateItemDiffs(self.importedItems[slotNum], itemLink, slotNum)
adam@0 56 end
adam@0 57 end
adam@0 58
adam@0 59 self.summaryTab:showBadItems()
adam@0 60
adam@0 61 -- if there are incorrect items equiped, display errors on other tabs
adam@0 62 if AskMrRobot.itemDiffs and AskMrRobot.itemDiffs.items then
adam@0 63 for k,v in pairs(AskMrRobot.itemDiffs.items) do
adam@0 64 if not v.needsUpgrade then
adam@0 65 self.hasImportError = true
adam@0 66 end
adam@0 67 end
adam@0 68 end
adam@0 69
adam@0 70 if self.hasImportError then
adam@0 71 showImportDetailsError()
adam@0 72 else
adam@0 73 self.gemTab:Update()
adam@0 74 self.enchantTab:showBadEnchants()
adam@0 75 self.reforgeTab:Render()
adam@0 76 self.shoppingTab:Update()
adam@0 77 end
adam@0 78 end
adam@0 79
adam@0 80 function AskMrRobot.AmrUI:showImportError(text, ...)
adam@0 81 self.summaryTab:showImportError(text, ...)
adam@0 82 if text then
adam@0 83 self.hasImportError = true
adam@0 84 showImportDetailsError()
adam@0 85 else
adam@0 86 self.hasImportError = false
adam@0 87 end
adam@0 88 end
adam@0 89
adam@0 90 function AskMrRobot.AmrUI:showImportWarning(text, ...)
adam@0 91 self.summaryTab:showImportWarning(text, ...)
adam@0 92 self.hasImportError = false
adam@0 93 if text then
adam@0 94 showImportDetailsError()
adam@0 95 end
adam@0 96 end
adam@0 97
adam@0 98 function AskMrRobot.AmrUI:validateInput(input)
adam@0 99
adam@0 100 self.importedItems = nil
adam@0 101 self.mostlySuccess = false
adam@0 102
adam@0 103 local parsed = AskMrRobot.parseAmr(input)
adam@0 104
adam@0 105 if not parsed.realm then
yellowfive@11 106 self:showImportError(L.AMR_UI_IMPORT_ERROR_IMPROPER,L.AMR_UI_IMPORT_ERROR_IMPROPER_GOTO)
adam@0 107 elseif not AskMrRobot.validateCharacterName(parsed.name) then
yellowfive@11 108 self:showImportError(L.AMR_UI_IMPORT_ERROR_CHARACTER:format(parsed.name), L.AMR_UI_IMPORT_ERROR_CHARACTER_GOTO)
adam@0 109 elseif not AskMrRobot.validateRace(parsed.race) then
yellowfive@11 110 self:showImportError(L.AMR_UI_IMPORT_ERROR_RACE, L.AMR_UI_IMPORT_ERROR_RACE_CURRENT:format(parsed.race))
adam@0 111 elseif not AskMrRobot.validateFaction(parsed.faction) then
yellowfive@11 112 self:showImportError(L.AMR_UI_IMPORT_ERROR_FACTION, L.AMR_UI_IMPORT_ERROR_FACTION_CURRENT:format(parsed.faction))
adam@0 113 elseif not AskMrRobot.validateProfessions(parsed.professions) then
yellowfive@11 114 self:showImportError(L.AMR_UI_IMPORT_ERROR_PROFESSIONS, L.AMR_UI_IMPORT_ERROR_PROFESSIONS_GOTO)
adam@0 115 elseif not AskMrRobot.validateSpec(parsed.spec) then
adam@0 116 if parsed.spec and parsed.spec ~= 'nil' then
adam@0 117 local _, specName = GetSpecializationInfoByID(parsed.spec)
yellowfive@11 118 self:showImportError(L.AMR_UI_IMPORT_ERROR_SPEC, L.AMR_UI_IMPORT_ERROR_SPEC_CHANGE:format(specName))
adam@0 119 else
yellowfive@11 120 self:showImportError(L.AMR_UI_IMPORT_ERROR_SPEC, L.AMR_UI_IMPORT_ERROR_SPEC_UNEXPECTED)
adam@0 121 end
adam@0 122 self.mostlySuccess = true
adam@0 123 self.summaryTab.badRealm = nil
adam@0 124 self.summaryTab.badTalents = nil
adam@0 125 self.summaryTab.badGlyphs = nil
adam@0 126 AmrImportString = input
adam@0 127 else
adam@0 128 self.summaryTab.badRealm = not AskMrRobot.validateRealm(parsed.realm) and parsed.realm
adam@0 129 self.summaryTab.badTalents = not AskMrRobot.validateTalents(parsed.talents)
adam@0 130 self.summaryTab.badGlyphs = not AskMrRobot.validateGlyphs(parsed.glyphs)
adam@0 131 self.mostlySuccess = true
adam@0 132 self:showImportError(nil)
adam@0 133 AmrImportString = input
adam@0 134 self.importedItems = parsed.items
adam@0 135 return self:displayImportItems()
adam@0 136 end
adam@0 137 return false
adam@0 138 end
adam@0 139
adam@0 140 local function createImportDetailsErrorTab(reforgeFrame)
adam@0 141 local tab = CreateFrame("Frame", nil, reforgeFrame)
adam@0 142 tab:SetPoint("TOPLEFT")
adam@0 143 tab:SetPoint("BOTTOMRIGHT")
adam@0 144 tab:Hide()
adam@0 145
adam@0 146 local text = tab:CreateFontString("AmrImportDetailsText1", "ARTWORK", "GameFontNormalLarge")
adam@0 147 text:SetPoint("TOPLEFT", 0, -5)
adam@0 148 text:SetText("Help")
adam@0 149
adam@0 150 local errorText1 = tab:CreateFontString("AmrImportDetailsText2", "ARTWORK", "GameFontRed")
adam@0 151 errorText1:SetPoint("TOPLEFT", "AmrImportDetailsText1", "BOTTOMLEFT", 0, -20)
yellowfive@11 152 errorText1:SetText(L.AMR_UI_IMPORT_ERROR_NO_IMPORT)
adam@0 153 errorText1:SetPoint("RIGHT", -10, 0)
adam@0 154 errorText1:SetWidth(errorText1:GetWidth())
adam@0 155 errorText1:SetJustifyH("LEFT")
adam@0 156
adam@0 157 showImportDetailsError = function()
yellowfive@11 158 errorText1:SetText(L.AMR_UI_IMPORT_ERROR_CANT_OPTIMIZE)
adam@0 159 end
adam@0 160
adam@0 161 showImportErrorTab = function(tabName)
adam@0 162 if not tabName then
adam@0 163 tab:Hide()
adam@0 164 else
adam@0 165 text:SetText(tabName)
adam@0 166 tab:Show()
adam@0 167 end
adam@0 168 end
adam@0 169
adam@0 170 return tab
adam@0 171 end
adam@0 172
adam@0 173 function AskMrRobot.AmrUI:createTabButtons()
adam@0 174 local importTabButton = CreateFrame("Button", "AmrImportTabButton", self, "OptionsListButtonTemplate")
adam@0 175
adam@0 176 local buttons = {}
adam@0 177 self.hasImportError = true
adam@0 178
adam@0 179 local function onTabButtonClick(clickedButton, event, ...)
adam@0 180 showImportErrorTab(nil)
adam@0 181 for i = 1, #buttons do
adam@0 182 local button = buttons[i]
adam@0 183 if clickedButton == button then
adam@0 184 button.highlight:SetVertexColor(1, 1, 0)
adam@0 185 button:LockHighlight()
adam@0 186 if self.hasImportError and button.isImportDetails then
adam@0 187 showImportErrorTab(button:GetText())
adam@0 188 elseif button.element then
adam@0 189 button.element:Show()
adam@0 190 end
adam@0 191 else
adam@0 192 button.highlight:SetVertexColor(.196, .388, .8)
adam@0 193 button:UnlockHighlight()
adam@0 194 if button.element then
adam@0 195 button.element:Hide()
adam@0 196 end
adam@0 197 end
adam@0 198 end
adam@0 199 end
adam@0 200
adam@0 201 local function createButton(text, spacing, isImportDetails)
adam@0 202 local lastButton = #buttons
adam@0 203 local i = lastButton + 1
adam@0 204 local tabButton = CreateFrame("Button", "AmrTabButton" .. i, self, "OptionsListButtonTemplate")
adam@0 205 tabButton.isImportDetails = isImportDetails
adam@0 206 tabButton:SetText(text)
adam@0 207 tabText = tabButton:GetFontString()
adam@0 208 tabText:SetPoint("LEFT", 6, 0)
adam@0 209 if i == 1 then
adam@0 210 tabButton:SetPoint("TOPLEFT", 2, spacing)
adam@0 211 else
adam@0 212 tabButton:SetPoint("TOPLEFT", "AmrTabButton" .. lastButton, "BOTTOMLEFT", 0, spacing)
adam@0 213 end
adam@0 214 tabButton:SetWidth(125)
adam@0 215 tabButton:SetHeight(20)
adam@0 216 tinsert(buttons, tabButton)
adam@0 217 tabButton:SetScript("OnClick", onTabButtonClick)
adam@0 218 end
adam@0 219
yellowfive@11 220 createButton(L.AMR_UI_BUTTON_IMPORT, -35, false)
yellowfive@11 221 createButton(L.AMR_UI_BUTTON_SUMMARY, -20, false)
yellowfive@11 222 createButton(L.AMR_UI_BUTTON_GEMS, 0, true)
yellowfive@11 223 createButton(L.AMR_UI_BUTTON_ENCHANTS, 0, true)
yellowfive@11 224 createButton(L.AMR_UI_BUTTON_REFORGES, 0, true)
yellowfive@11 225 createButton(L.AMR_UI_BUTTON_SHOPPING_LIST, 0, true)
yellowfive@11 226 createButton(L.AMR_UI_BUTTON_BEST_IN_BAGS, -20, false)
yellowfive@11 227 createButton(L.AMR_UI_BUTTON_COMBAT_LOG, 0, false)
yellowfive@11 228 createButton(L.AMR_UI_BUTTON_HELP, -20, false)
adam@0 229
adam@0 230 return buttons
adam@0 231 end
adam@0 232
adam@0 233 function AskMrRobot.AmrUI:new()
adam@0 234 local o = AskMrRobot.Frame:new("AskMrRobot_Dialog", nil, "BasicFrameTemplateWithInset")
adam@0 235
adam@0 236 -- use the AmrUI class
adam@0 237 setmetatable(o, { __index = AskMrRobot.AmrUI })
adam@0 238
adam@0 239 o:RegisterForDrag("LeftButton");
adam@0 240 o:SetWidth(600)
adam@0 241 o:SetHeight(530)
adam@0 242 o.InsetBg:SetPoint("TOPLEFT", 125, -24)
adam@0 243
adam@0 244 o:SetParent("UIParent")
adam@0 245 o:SetPoint("CENTER")
adam@0 246 o:Hide()
adam@0 247 o:EnableMouse(true)
adam@0 248 o:EnableKeyboard(true)
adam@0 249 o.hideOnEscape = 1
adam@0 250 o:SetMovable(true)
adam@0 251 o:SetToplevel(true)
adam@0 252
adam@0 253 --o:SetScript("OnEscapePressed", function)
adam@0 254 o:SetScript("OnDragStart", AskMrRobot.AmrUI.OnDragStart)
adam@0 255 o:SetScript("OnDragStop", AskMrRobot.AmrUI.OnDragStop)
adam@0 256 o:SetScript("OnHide", AskMrRobot.AmrUI.OnHide)
adam@0 257 -- make the UI show the first tab when its opened
adam@0 258 o:SetScript("OnShow", AskMrRobot.AmrUI.OnShow)
adam@0 259
adam@0 260 o:RegisterEvent("AUCTION_HOUSE_CLOSED")
adam@0 261 o:RegisterEvent("AUCTION_HOUSE_SHOW")
adam@0 262 o:RegisterEvent("FORGE_MASTER_OPENED")
adam@0 263 o:RegisterEvent("FORGE_MASTER_CLOSED")
adam@0 264 o:RegisterEvent("SOCKET_INFO_UPDATE")
adam@0 265 o:RegisterEvent("SOCKET_INFO_CLOSE")
adam@0 266
adam@0 267 o:SetScript("OnEvent", function(...)
adam@0 268 o:OnEvent(...)
adam@0 269 end)
adam@0 270
adam@0 271 tinsert(UISpecialFrames, o:GetName())
adam@0 272
adam@0 273 -- title
adam@0 274 o.TitleText:SetText("Ask Mr. Robot " .. GetAddOnMetadata(AskMrRobot.AddonName, "Version"))
adam@0 275
adam@0 276 -- create the tab buttons
adam@0 277 o.buttons = o:createTabButtons()
adam@0 278
adam@0 279 local tabArea = AskMrRobot.Frame:new(nil, o)
adam@0 280 tabArea:SetPoint("TOPLEFT", 140, -30)
adam@0 281 tabArea:SetPoint("BOTTOMRIGHT")
adam@0 282
adam@0 283 createImportDetailsErrorTab(tabArea)
adam@0 284
adam@0 285 -- create the import tab and associated it with the import tab button
adam@0 286 o.importTab = AskMrRobot.ImportTab:new(tabArea)
adam@0 287 o.buttons[1].element = o.importTab
adam@0 288 o.importTab.scrollFrame.EditBox:SetScript("OnEscapePressed", function()
adam@0 289 o:Hide()
adam@0 290 end)
adam@0 291
adam@0 292 o.importTab.button:SetScript("OnClick", function(...)
adam@0 293 o.summaryTab.importDate = date()
adam@0 294 AmrImportDate = o.summaryTab.importDate
adam@0 295 o:OnUpdate()
adam@0 296 if o.mostlySuccess then
adam@0 297 -- save import between sessions
adam@0 298 AmrImportString = o.importTab.scrollFrame.EditBox:GetText()
adam@0 299 AmrImportDate = o.summaryTab.importDate
adam@0 300 end
adam@0 301 o:ShowTab("summary")
adam@0 302 end)
adam@0 303
adam@0 304 o.summaryTab = AskMrRobot.SummaryTab:new(tabArea)
adam@0 305 o.buttons[2].element = o.summaryTab
adam@0 306
adam@0 307 o.gemTab = AskMrRobot.GemTab:new(nil, tabArea)
adam@0 308 o.buttons[3].element = o.gemTab
adam@0 309
adam@0 310 o.enchantTab = AskMrRobot.EnchantTab:new(tabArea)
adam@0 311 o.buttons[4].element = o.enchantTab
adam@0 312
adam@0 313 o.reforgeTab = AskMrRobot.ReforgesTab:new(tabArea)
adam@0 314 o.buttons[5].element = o.reforgeTab
adam@0 315
adam@0 316 o.shoppingTab = AskMrRobot.ShoppingListTab:new(tabArea)
adam@0 317 o.buttons[6].element = o.shoppingTab
adam@0 318
adam@0 319 o.shoppingTab.sendTo:SetScript("OnEscapePressed", function()
adam@0 320 o:Hide()
adam@0 321 end)
adam@0 322
adam@0 323 o.exportTab = AskMrRobot.ExportTab:new(tabArea)
adam@0 324 o.buttons[7].element = o.exportTab
adam@0 325
adam@0 326 o.combatLogTab = AskMrRobot.CombatLogTab:new(tabArea)
adam@0 327 o.buttons[8].element = o.combatLogTab
adam@0 328
adam@0 329 o.helpTab = AskMrRobot.HelpTab:new(tabArea)
adam@0 330 o.buttons[9].element = o.helpTab
adam@0 331
adam@0 332 o.isSocketWindowVisible = false
adam@0 333 o.isReforgeVisible = false
adam@0 334 o.isAuctionHouseVisible = false
adam@0 335
adam@0 336 --hide the UI
adam@0 337 o:Hide()
adam@0 338
adam@0 339 o:ShowTab("import")
adam@0 340
adam@0 341 o.initialize = false
adam@0 342
adam@0 343 return o
adam@0 344 end
adam@0 345
adam@0 346 function AskMrRobot.AmrUI:OnUpdate()
adam@0 347 local input = self.importTab.scrollFrame.EditBox:GetText()
adam@0 348 if input and input:len() > 0 then
adam@0 349 self:validateInput(input)
adam@0 350 end
adam@0 351 end
adam@0 352
adam@0 353 function AskMrRobot.AmrUI:OnShow()
adam@0 354
adam@0 355 if not self.initialized then
adam@0 356 -- remember the import settings between sessions
adam@0 357 self.importTab.scrollFrame.EditBox:SetText(AmrImportString or "")
adam@0 358 self.initialized = true
adam@0 359 end
adam@0 360
adam@0 361 self:OnUpdate()
adam@0 362 end
adam@0 363
adam@0 364 function AskMrRobot.AmrUI:OnDragStart()
adam@0 365 if not self.isLocked then
adam@0 366 self:StartMoving();
adam@0 367 end
adam@0 368 end
adam@0 369
adam@0 370 function AskMrRobot.AmrUI:OnDragStop()
adam@0 371 self:StopMovingOrSizing()
adam@0 372 end
adam@0 373
adam@0 374 function AskMrRobot.AmrUI:OnHide()
adam@0 375 self.visible = false
adam@0 376 self:StopMovingOrSizing()
adam@0 377 end
adam@0 378
adam@0 379 function AskMrRobot.AmrUI:ShowReforgeFrame()
adam@0 380 self.visible = true
adam@0 381 self:Show()
adam@0 382 end
adam@0 383
adam@0 384 function AskMrRobot.AmrUI:Toggle()
adam@0 385 if self.visible then
adam@0 386 self:Hide()
adam@0 387 else
adam@0 388 self:ShowReforgeFrame()
adam@0 389 end
adam@0 390 end
adam@0 391
adam@0 392 local nameToButtonNumber = {
adam@0 393 import = 1,
adam@0 394 summary = 2,
adam@0 395 gems = 3,
adam@0 396 enchants = 4,
adam@0 397 reforges = 5,
adam@0 398 shopping = 6,
adam@0 399 export = 7,
adam@0 400 combatLog = 8,
adam@0 401 help = 9
adam@0 402 }
adam@0 403
adam@0 404 function AskMrRobot.AmrUI:ShowTab(tabName)
adam@0 405 local buttonNumber = nameToButtonNumber[tabName]
adam@0 406 if buttonNumber then
adam@0 407 self.buttons[buttonNumber]:Click()
adam@0 408 end
adam@0 409 end
adam@0 410
adam@0 411 function AskMrRobot.AmrUI:OnEvent(frame, event, ...)
adam@0 412 local handler = self["On_" .. event]
adam@0 413 if handler then
adam@0 414 handler(self, ...)
adam@0 415 end
adam@0 416 end
adam@0 417
adam@0 418 function AskMrRobot.AmrUI:On_AUCTION_HOUSE_SHOW()
adam@0 419 self.isAuctionHouseVisible = true
adam@0 420 if self.mostlySuccess then
adam@0 421 local showTab = self.visible
adam@0 422 if not AmrOptions.manualShowShop and not self.visible then
adam@0 423
adam@0 424 -- show if there is anything to buy
adam@0 425 if self.shoppingTab:HasStuffToBuy() then
adam@0 426 self:Show()
adam@0 427 showTab = true
adam@0 428 end
adam@0 429 end
adam@0 430
adam@0 431 if showTab then
adam@0 432 self:ShowTab("shopping")
adam@0 433 end
adam@0 434 end
adam@0 435 end
adam@0 436
adam@0 437 function AskMrRobot.AmrUI:On_AUCTION_HOUSE_CLOSED()
adam@0 438 self.isAuctionHouseVisible = false
adam@0 439 if self.isReforgeVisible then
adam@0 440 self:ShowTab("reforges")
adam@0 441 elseif self.isSocketWindowVisible then
adam@0 442 self:ShowTab("gems")
adam@0 443 end
adam@0 444 end
adam@0 445
adam@0 446 function AskMrRobot.AmrUI:On_FORGE_MASTER_OPENED()
adam@0 447 self.isReforgeVisible = true
adam@0 448 if self.mostlySuccess then
adam@0 449 local showTab = self.visible
adam@0 450 if not AmrOptions.manualShowReforge and not self.visible then
adam@0 451
adam@0 452 -- see if there are any reforges to do
adam@0 453 local reforgeCount = 0
adam@0 454 for slotNum, badReforge in pairs(AskMrRobot.itemDiffs.reforges) do
adam@0 455 reforgeCount = reforgeCount + 1
adam@0 456 end
adam@0 457
adam@0 458 if reforgeCount > 0 then
adam@0 459 self:Show()
adam@0 460 showTab = true
adam@0 461 end
adam@0 462 end
adam@0 463
adam@0 464 if showTab then
adam@0 465 self:ShowTab("reforges")
adam@0 466 end
adam@0 467 end
adam@0 468 end
adam@0 469
adam@0 470 function AskMrRobot.AmrUI:On_FORGE_MASTER_CLOSED()
adam@0 471 self.isReforgeVisible = false
adam@0 472 if self.isAuctionHouseVisible then
adam@0 473 self:ShowTab("shopping")
adam@0 474 elseif self.isSocketWindowVisible then
adam@0 475 self:ShowTab("gems")
adam@0 476 end
adam@0 477 end
adam@0 478
adam@0 479 function AskMrRobot.AmrUI:On_SOCKET_INFO_UPDATE()
adam@0 480 self.isSocketWindowVisible = true
adam@0 481 if self.mostlySuccess then
adam@0 482 if not self.visible then
adam@0 483 self:Show()
adam@0 484 end
adam@0 485 self:ShowTab("gems")
adam@0 486 end
adam@0 487 end
adam@0 488
adam@0 489 function AskMrRobot.AmrUI:On_SOCKET_INFO_CLOSE()
adam@0 490 self.isSocketWindowVisible = false
adam@0 491 if self.isAuctionHouseVisible then
adam@0 492 self:ShowTab("shopping")
adam@0 493 elseif self.isReforgeVisible then
adam@0 494 self:ShowTab("reforges")
adam@0 495 end
adam@0 496 end