adam@0
|
1 local _, AskMrRobot = ...
|
adam@0
|
2
|
adam@0
|
3 AskMrRobot.SummaryTab = AskMrRobot.inheritsFrom(AskMrRobot.Frame)
|
adam@0
|
4
|
adam@0
|
5 function AskMrRobot.SummaryTab:new(parent)
|
adam@0
|
6
|
adam@0
|
7 local tab = AskMrRobot.Frame:new(nil, parent)
|
adam@0
|
8 setmetatable(tab, { __index = AskMrRobot.SummaryTab })
|
adam@0
|
9 tab:SetPoint("TOPLEFT")
|
adam@0
|
10 tab:SetPoint("BOTTOMRIGHT")
|
adam@0
|
11 tab:Hide()
|
adam@0
|
12
|
adam@0
|
13
|
adam@0
|
14 tab.importDate = ""
|
adam@0
|
15
|
adam@0
|
16 local text = tab:CreateFontString("AmrSummaryText1", "ARTWORK", "GameFontNormalLarge")
|
adam@0
|
17 text:SetPoint("TOPLEFT", 0, -5)
|
adam@0
|
18 text:SetFormattedText("Summary")
|
adam@0
|
19
|
adam@0
|
20 -- error text
|
adam@0
|
21 tab.errorText1 = tab:CreateFontString("AmrSummaryErrorText1", "ARTWORK", "GameFontRedLarge")
|
adam@0
|
22 tab.errorText1:SetPoint("TOPLEFT", "AmrSummaryText1", "BOTTOMLEFT", 0, -20)
|
adam@0
|
23 tab.errorText1:SetText("You have no optimizations imported.")
|
adam@0
|
24 tab.errorText1:SetPoint("RIGHT", -20, 0)
|
adam@0
|
25 tab.errorText1:SetWidth(tab.errorText1:GetWidth())
|
adam@0
|
26 tab.errorText1:SetWordWrap(true)
|
adam@0
|
27 tab.errorText1:SetJustifyH("LEFT")
|
adam@0
|
28
|
adam@0
|
29 tab.errorText2 = tab:CreateFontString("AmrSummaryErrorText2", "ARTWORK", "GameFontWhite")
|
adam@0
|
30 tab.errorText2:SetPoint("TOPLEFT", "AmrSummaryErrorText1", "BOTTOMLEFT", 0, -15)
|
adam@0
|
31 tab.errorText2:SetPoint("RIGHT", -20, 0)
|
adam@0
|
32 tab.errorText2:SetWidth(tab.errorText2:GetWidth())
|
adam@0
|
33 tab.errorText2:SetJustifyH("LEFT")
|
adam@0
|
34 tab.errorText2:SetText('Click the "Import" tab to get started.')
|
adam@0
|
35
|
adam@0
|
36 -- bad items
|
adam@0
|
37 tab.badItemSlots = {}
|
adam@0
|
38 tab.badItemNames = {}
|
adam@0
|
39
|
adam@0
|
40 local itemText = tab:CreateFontString("AmrBadItemSlot0", "ARTWORK", "GameFontNormal")
|
adam@0
|
41 itemText:SetPoint("TOPLEFT", "AmrSummaryErrorText2", "BOTTOMLEFT", 0, -20)
|
adam@0
|
42 itemText:SetText("Slot")
|
adam@0
|
43 itemText:SetWidth(100)
|
adam@0
|
44 itemText:SetJustifyH("LEFT")
|
adam@0
|
45 itemText:Hide()
|
adam@0
|
46 tinsert(tab.badItemSlots, itemText)
|
adam@0
|
47
|
adam@0
|
48 itemText = tab:CreateFontString("AmrBadItemName0", "ARTWORK", "GameFontNormal")
|
adam@0
|
49 itemText:SetPoint("TOPLEFT", "AmrBadItemSlot0", "TOPLEFT", 120, 0)
|
adam@0
|
50 itemText:SetPoint("RIGHT", -30, 0)
|
adam@0
|
51 itemText:SetText("Item Name")
|
adam@0
|
52 itemText:SetJustifyH("LEFT")
|
adam@0
|
53 itemText:Hide()
|
adam@0
|
54 tinsert(tab.badItemNames, itemText)
|
adam@0
|
55
|
adam@0
|
56 itemText = tab:CreateFontString(nil, "ARTWORK", "GameFontWhite")
|
adam@0
|
57 itemText:SetPoint("LEFT", 0, 0)
|
adam@0
|
58 itemText:SetPoint("RIGHT", -30, 0)
|
adam@0
|
59 itemText:SetPoint("TOP", "AmrBadItemSlot0", "TOP", 0, 0 )
|
adam@0
|
60 itemText:SetText("Please upgrade the following items:")
|
adam@0
|
61 itemText:SetJustifyH("LEFT")
|
adam@0
|
62 itemText:Hide()
|
adam@0
|
63 tab.upgradeInstructions = itemText
|
adam@0
|
64
|
adam@0
|
65 itemText = tab:CreateFontString(nil, "ARTWORK", "GameFontNormal")
|
adam@0
|
66 itemText:SetPoint("LEFT", "AmrBadItemSlot0", "LEFT", 0, -20)
|
adam@0
|
67 itemText:SetPoint("RIGHT", "AmrBadItemSlot0", "RIGHT", 0, -20)
|
adam@0
|
68 itemText:SetPoint("TOP", tab.upgradeInstructions, "BOTTOM", 0, -10 )
|
adam@0
|
69 itemText:SetHeight(20)
|
adam@0
|
70 itemText:SetText("Slot")
|
adam@0
|
71 itemText:SetJustifyH("LEFT")
|
adam@0
|
72 itemText:Hide()
|
adam@0
|
73 tab.upgradeSlotHeader = itemText
|
adam@0
|
74
|
adam@0
|
75 itemText = tab:CreateFontString(nil, "ARTWORK", "GameFontNormal")
|
adam@0
|
76 itemText:SetPoint("LEFT", "AmrBadItemName0", "LEFT", 0, 0)
|
adam@0
|
77 itemText:SetPoint("RIGHT", "AmrBadItemName0", "RIGHT", 0, 0)
|
adam@0
|
78 itemText:SetPoint("TOP", tab.upgradeSlotHeader, "TOP", 0, 0)
|
adam@0
|
79 itemText:SetPoint("BOTTOM", tab.upgradeSlotHeader, "BOTTOM", 0, 0)
|
adam@0
|
80 itemText:SetText("Item Name")
|
adam@0
|
81 itemText:SetJustifyH("LEFT")
|
adam@0
|
82 itemText:Hide()
|
adam@0
|
83 tab.upgradeItemHeader = itemText
|
adam@0
|
84
|
adam@0
|
85 for i = 1, #AskMrRobot.slotNames do
|
adam@0
|
86 local itemText = tab:CreateFontString("AmrBadItemSlot" .. i, "ARTWORK", "GameFontWhite")
|
adam@0
|
87 itemText:SetPoint("TOPLEFT", "AmrBadItemSlot" .. (i-1), "BOTTOMLEFT", 0, -5)
|
adam@0
|
88 itemText:SetPoint("TOPRIGHT", "AmrBadItemSlot" .. (i-1), "BOTTOMRIGHT", 0, -5)
|
adam@0
|
89 itemText:SetJustifyH("LEFT")
|
adam@0
|
90 itemText:Hide()
|
adam@0
|
91 tinsert(tab.badItemSlots, itemText)
|
adam@0
|
92
|
adam@0
|
93 itemText = AskMrRobot.ItemLinkText:new(nil, tab)
|
adam@0
|
94 itemText:SetPoint("LEFT", "AmrBadItemName0", "TOPLEFT", 0, 0)
|
adam@0
|
95 itemText:SetPoint("RIGHT", "AmrBadItemName0", "BOTTOMRIGHT", 0, 0)
|
adam@0
|
96 itemText:SetPoint("TOP", "AmrBadItemSlot" .. i, 0, 0)
|
adam@0
|
97 itemText:SetPoint("BOTTOM", "AmrBadItemSlot" .. i, 0, 0)
|
adam@0
|
98 itemText:Hide()
|
adam@0
|
99 tinsert(tab.badItemNames, itemText)
|
adam@0
|
100 end
|
adam@0
|
101
|
adam@0
|
102 tab.upgradeItemSlots = {}
|
adam@0
|
103 tab.upgradeItemNames = {}
|
adam@0
|
104 for i = 1, #AskMrRobot.slotNames do
|
adam@0
|
105 local itemText = tab:CreateFontString(nil, "ARTWORK", "GameFontWhite")
|
adam@0
|
106 if i == 1 then
|
adam@0
|
107 itemText:SetPoint("TOPLEFT", tab.upgradeSlotHeader, "BOTTOMLEFT", 0, -5)
|
adam@0
|
108 itemText:SetPoint("TOPRIGHT", tab.upgradeSlotHeader, "BOTTOMRIGHT", 0, -5)
|
adam@0
|
109 else
|
adam@0
|
110 itemText:SetPoint("TOPLEFT", tab.upgradeItemSlots[i-1], "BOTTOMLEFT", 0, -5)
|
adam@0
|
111 itemText:SetPoint("TOPRIGHT", tab.upgradeItemSlots[i-1], "BOTTOMRIGHT", 0, -5)
|
adam@0
|
112 end
|
adam@0
|
113 itemText:SetJustifyH("LEFT")
|
adam@0
|
114 itemText:Hide()
|
adam@0
|
115 tinsert(tab.upgradeItemSlots, itemText)
|
adam@0
|
116
|
adam@0
|
117 itemText = AskMrRobot.ItemLinkText:new(nil, tab)
|
adam@0
|
118 itemText:SetFormat("|cff00ff00Upgrade|r %s")
|
adam@0
|
119 itemText:SetPoint("LEFT", tab.upgradeItemHeader, "LEFT", 0, 0)
|
adam@0
|
120 itemText:SetPoint("RIGHT", tab.upgradeItemHeader, "RIGHT", 0, 0)
|
adam@0
|
121 itemText:SetPoint("TOP", tab.upgradeItemSlots[i], 0, 0)
|
adam@0
|
122 itemText:SetPoint("BOTTOM", tab.upgradeItemSlots[i], 0, 0)
|
adam@0
|
123 itemText:Hide()
|
adam@0
|
124 tinsert(tab.upgradeItemNames, itemText)
|
adam@0
|
125 end
|
adam@0
|
126
|
adam@0
|
127 tab.importInfo = tab:CreateFontString(nil, "ARTWORK", "GameFontNormal")
|
adam@0
|
128 tab.importInfo:SetText("Last import: ?\rThese optimizations are for ?")
|
adam@0
|
129 tab.importInfo:SetPoint("TOPLEFT", text, "BOTTOMLEFT", 0, -20)
|
adam@0
|
130 tab.importInfo:SetJustifyH("LEFT")
|
adam@0
|
131 tab.importInfo:Hide()
|
adam@0
|
132
|
adam@0
|
133 tab.specIcon = tab:CreateTexture(nil, "BACKGROUND")
|
adam@0
|
134 tab.specIcon:SetPoint("TOPLEFT")
|
adam@0
|
135 tab.specIcon:SetWidth(64)
|
adam@0
|
136 tab.specIcon:SetHeight(64)
|
adam@0
|
137 tab.specIcon:SetPoint("TOPLEFT", tab.importInfo, "BOTTOMLEFT", 0, -10)
|
adam@0
|
138 tab.specIcon:Hide()
|
adam@0
|
139
|
adam@0
|
140 tab.stamp = AskMrRobot.RobotStamp:new(nil, tab)
|
adam@0
|
141 tab.stamp:Hide()
|
adam@0
|
142 tab.stamp.smallText:SetText("Congratulations! You are 100% optimal")
|
adam@0
|
143 tab.stamp:SetPoint("TOPLEFT", tab.specIcon, "BOTTOMLEFT", 2, -25)
|
adam@0
|
144 tab.stamp:SetPoint("RIGHT", tab, "RIGHT", -20, 0)
|
adam@0
|
145 tab.stamp:Hide()
|
adam@0
|
146
|
adam@0
|
147 tab.specText = tab:CreateFontString(nil, "ARTWORK", "GameFontHighlightLarge")
|
adam@0
|
148 local Path, Size, Flags = tab.specText:GetFont()
|
adam@0
|
149 tab.specText:SetFont(Path, 24, Flags);
|
adam@0
|
150 tab.specText:SetPoint("LEFT", tab.specIcon, "RIGHT", 10, 0)
|
adam@0
|
151 tab.specText:SetText("?")
|
adam@0
|
152 tab.specText:Hide()
|
adam@0
|
153
|
adam@0
|
154 tab.optimizationSummary = tab:CreateFontString(nil, "ARTWORK", "GameFontNormal")
|
adam@0
|
155 tab.optimizationSummary:SetPoint("TOPLEFT", tab.specIcon, "BOTTOMLEFT", 0, -15)
|
adam@0
|
156 tab.optimizationSummary:SetText("You have ? optimizations to make:")
|
adam@0
|
157 tab.optimizationSummary:Hide()
|
adam@0
|
158
|
adam@0
|
159 tab.gemCount = tab:CreateFontString(nil, "ARTWORK", "GameFontWhite")
|
adam@0
|
160 tab.gemCount:SetPoint("TOPLEFT", tab.optimizationSummary, "BOTTOMLEFT", 0, -15)
|
adam@0
|
161 tab.gemCount:SetText("? gems")
|
adam@0
|
162 tab.gemCount:Hide()
|
adam@0
|
163
|
adam@0
|
164 tab.enchantCount = tab:CreateFontString(nil, "ARTWORK", "GameFontWhite")
|
adam@0
|
165 tab.enchantCount:SetPoint("TOPLEFT", tab.gemCount, "BOTTOMLEFT", 0, -5)
|
adam@0
|
166 tab.enchantCount:SetText("? enchants")
|
adam@0
|
167 tab.enchantCount:Hide()
|
adam@0
|
168
|
adam@0
|
169 tab.reforgeCount = tab:CreateFontString(nil, "ARTWORK", "GameFontWhite")
|
adam@0
|
170 tab.reforgeCount:SetPoint("TOPLEFT", tab.enchantCount, "BOTTOMLEFT", 0, -5)
|
adam@0
|
171 tab.reforgeCount:SetText("? reforges")
|
adam@0
|
172 tab.reforgeCount:Hide()
|
adam@0
|
173
|
adam@0
|
174 tab.instructions = tab:CreateFontString(nil, "ARTWORK", "GameFontWhite")
|
adam@0
|
175 tab.instructions:SetPoint("TOPLEFT", tab.reforgeCount, "BOTTOMLEFT", 0, -15)
|
adam@0
|
176 tab.instructions:SetText("View the Gem, Enchant and Reforge tabs for suggested optimizations.")
|
adam@0
|
177 tab.instructions:Hide()
|
adam@0
|
178
|
adam@0
|
179 return tab
|
adam@0
|
180 end
|
adam@0
|
181
|
adam@0
|
182 function AskMrRobot.SummaryTab:getSpecIcon(specId)
|
adam@0
|
183 for i = 1, GetNumSpecializations() do
|
adam@0
|
184 local id, _, _, icon = GetSpecializationInfo(i)
|
adam@0
|
185 if id == specId then
|
adam@0
|
186 return icon
|
adam@0
|
187 end
|
adam@0
|
188 end
|
adam@0
|
189 return nil
|
adam@0
|
190 end
|
adam@0
|
191
|
adam@0
|
192 function AskMrRobot.SummaryTab:showBadItems()
|
adam@0
|
193 local badItems = AskMrRobot.itemDiffs.items
|
adam@0
|
194
|
adam@0
|
195 local i = 2
|
adam@0
|
196
|
adam@0
|
197 -- for all the bad items
|
adam@0
|
198 for slotNum, badItem in AskMrRobot.sortSlots(badItems) do
|
adam@0
|
199 if not badItem.needsUpgrade then
|
adam@0
|
200 self.badItemSlots[i]:SetText(_G[strupper(AskMrRobot.slotNames[slotNum])])
|
adam@0
|
201 self.badItemSlots[i]:Show()
|
adam@0
|
202 if badItem.optimized then
|
adam@0
|
203 self.badItemNames[i]:SetItemId(badItem.optimized.itemId, badItem.optimized.upgradeId, badItem.optimized.suffixId)
|
adam@0
|
204 else
|
adam@0
|
205 self.badItemNames[i]:SetItemId(nil, 0, 0)
|
adam@0
|
206 end
|
adam@0
|
207 self.badItemNames[i]:Show()
|
adam@0
|
208 i = i + 1
|
adam@0
|
209 end
|
adam@0
|
210 end
|
adam@0
|
211
|
adam@0
|
212 -- for all the upgrade items
|
adam@0
|
213 local j = 1
|
adam@0
|
214 for slotNum, badItem in AskMrRobot.sortSlots(badItems) do
|
adam@0
|
215 if badItem.needsUpgrade then
|
adam@0
|
216 self.upgradeItemSlots[j]:SetText(_G[strupper(AskMrRobot.slotNames[slotNum])])
|
adam@0
|
217 self.upgradeItemSlots[j]:Show()
|
adam@0
|
218 if badItem.optimized then
|
adam@0
|
219 self.upgradeItemNames[j]:SetItemId(badItem.optimized.itemId, badItem.optimized.upgradeId, badItem.optimized.suffixId)
|
adam@0
|
220 else
|
adam@0
|
221 self.upgradeItemNames[j]:SetItemId(nil, 0, 0)
|
adam@0
|
222 end
|
adam@0
|
223 self.upgradeItemNames[j]:Show()
|
adam@0
|
224 j = j + 1
|
adam@0
|
225 end
|
adam@0
|
226 end
|
adam@0
|
227
|
adam@0
|
228 -- hide / show the headers
|
adam@0
|
229 if i == 2 and j == 1 then
|
adam@0
|
230 self.badItemSlots[1]:Hide()
|
adam@0
|
231 self.badItemNames[1]:Hide()
|
adam@0
|
232 self:showImportError(nil)
|
adam@0
|
233 self.importInfo:Show()
|
adam@0
|
234 self.specIcon:Show()
|
adam@0
|
235 self.optimizationSummary:Show()
|
adam@0
|
236 self.gemCount:Show()
|
adam@0
|
237 self.enchantCount:Show()
|
adam@0
|
238 self.reforgeCount:Show()
|
adam@0
|
239 self.instructions:Show()
|
adam@0
|
240 self.specText:Show()
|
adam@0
|
241
|
adam@0
|
242 local gemCount = 0
|
adam@0
|
243 for slotNum, badGems in pairs(AskMrRobot.itemDiffs.gems) do
|
adam@0
|
244 for k, v in pairs(badGems.badGems) do
|
adam@0
|
245 gemCount = gemCount + 1
|
adam@0
|
246 end
|
adam@0
|
247 end
|
adam@0
|
248
|
adam@0
|
249 self.gemCount:SetFormattedText("%d \1244gem:gems;", gemCount)
|
adam@0
|
250
|
adam@0
|
251 local enchantCount = 0
|
adam@0
|
252 for slotNum, badEnchant in pairs(AskMrRobot.itemDiffs.enchants) do
|
adam@0
|
253 enchantCount = enchantCount + 1
|
adam@0
|
254 end
|
adam@0
|
255
|
adam@0
|
256 self.enchantCount:SetFormattedText("%d \1244enchant:enchants;", enchantCount)
|
adam@0
|
257
|
adam@0
|
258 local reforgeCount = 0
|
adam@0
|
259 for slotNum, badReforge in pairs(AskMrRobot.itemDiffs.reforges) do
|
adam@0
|
260 reforgeCount = reforgeCount + 1
|
adam@0
|
261 end
|
adam@0
|
262
|
adam@0
|
263 self.reforgeCount:SetFormattedText("%d \1244reforge:reforges;", reforgeCount)
|
adam@0
|
264 self.optimizationSummary:SetFormattedText("You have %d \1244optimization:optimizations; to make:", gemCount + enchantCount + reforgeCount)
|
adam@0
|
265
|
adam@0
|
266 if gemCount + enchantCount + reforgeCount == 0 then
|
adam@0
|
267 self.stamp:Show()
|
adam@0
|
268 self.optimizationSummary:Hide()
|
adam@0
|
269 self.enchantCount:Hide()
|
adam@0
|
270 self.reforgeCount:Hide()
|
adam@0
|
271 self.instructions:Hide()
|
adam@0
|
272 self.gemCount:Hide()
|
adam@0
|
273 else
|
adam@0
|
274 self.stamp:Hide()
|
adam@0
|
275 self.optimizationSummary:Show()
|
adam@0
|
276 self.enchantCount:Show()
|
adam@0
|
277 self.reforgeCount:Show()
|
adam@0
|
278 self.instructions:Show()
|
adam@0
|
279 self.gemCount:Show()
|
adam@0
|
280 end
|
adam@0
|
281
|
adam@0
|
282 local activeSpecGroup = GetActiveSpecGroup()
|
adam@0
|
283
|
adam@0
|
284 if activeSpecGroup == nil then
|
adam@0
|
285 self.importInfo:SetFormattedText("Last import: %s\rThese optimizations are for %s", self.importDate, UnitName("player"))
|
adam@0
|
286 else
|
adam@0
|
287 self.importInfo:SetFormattedText("Last import: %s\rThese optimizations are for %s's...", self.importDate, UnitName("player"))
|
adam@0
|
288 local spec = GetSpecialization(false, false, group);
|
adam@0
|
289 if spec then
|
adam@0
|
290 local _, name, _, icon = GetSpecializationInfo(spec);
|
adam@0
|
291 if activeSpecGroup == 1 then
|
adam@0
|
292 self.specText:SetFormattedText("Primary Spec - %s", name)
|
adam@0
|
293 else
|
adam@0
|
294 self.specText:SetFormattedText("Secondary Spec - %s", name)
|
adam@0
|
295 end
|
adam@0
|
296 self.specIcon:SetTexture(icon)
|
adam@0
|
297 end
|
adam@0
|
298 end
|
adam@0
|
299
|
adam@0
|
300
|
adam@0
|
301 --local currentSpec = GetAmrSpecialization(GetActiveSpecGroup())
|
adam@0
|
302 --return (not currentSpec and not spec) or tostring(currentSpec) == spec
|
adam@0
|
303 else
|
adam@0
|
304 self.importInfo:Hide()
|
adam@0
|
305 self.specIcon:Hide()
|
adam@0
|
306 self.optimizationSummary:Hide()
|
adam@0
|
307 self.gemCount:Hide()
|
adam@0
|
308 self.enchantCount:Hide()
|
adam@0
|
309 self.reforgeCount:Hide()
|
adam@0
|
310 self.instructions:Hide()
|
adam@0
|
311 self.specText:Hide()
|
adam@0
|
312 end
|
adam@0
|
313
|
adam@0
|
314 if i == 2 then
|
adam@0
|
315 self.badItemSlots[1]:Hide()
|
adam@0
|
316 self.badItemNames[1]:Hide()
|
adam@0
|
317 else
|
adam@0
|
318 self.badItemSlots[1]:Show()
|
adam@0
|
319 self.badItemNames[1]:Show()
|
adam@0
|
320 local warnings = {}
|
adam@0
|
321 if self.badRealm then
|
adam@0
|
322 tinsert(warnings, "a different realm: " .. self.badRealm)
|
adam@0
|
323 end
|
adam@0
|
324 if self.badTalents then
|
adam@0
|
325 tinsert(warnings, "different talents")
|
adam@0
|
326 end
|
adam@0
|
327 if self.badGlyphs then
|
adam@0
|
328 tinsert(warnings, "different glyphs")
|
adam@0
|
329 end
|
adam@0
|
330 local message = "Mr. Robot optimized a different set of gear"
|
adam@0
|
331 if #warnings > 0 then
|
adam@0
|
332 message = message .. " (and "
|
adam@0
|
333 for k = 1, #warnings do
|
adam@0
|
334 if k > 1 then
|
adam@0
|
335 message = message .. ', '
|
adam@0
|
336 end
|
adam@0
|
337 message = message .. warnings[k]
|
adam@0
|
338 end
|
adam@0
|
339 message = message .. ")"
|
adam@0
|
340 end
|
adam@0
|
341 message = message .. ". Please equip the following items before proceeding with the optimizations."
|
adam@0
|
342 self:showImportWarning("WARNING: Please check your character before proceeding:", message)
|
adam@0
|
343 end
|
adam@0
|
344
|
adam@0
|
345 if j == 1 then
|
adam@0
|
346 self.upgradeItemHeader:Hide()
|
adam@0
|
347 self.upgradeSlotHeader:Hide()
|
adam@0
|
348 self.upgradeInstructions:Hide()
|
adam@0
|
349 else
|
adam@0
|
350 if i == 2 then
|
adam@0
|
351 local warnings = {}
|
adam@0
|
352 if self.badRealm then
|
adam@0
|
353 tinsert(warnings, "a different realm: " .. self.badRealm)
|
adam@0
|
354 end
|
adam@0
|
355 if self.badTalents then
|
adam@0
|
356 tinsert(warnings, "different talents")
|
adam@0
|
357 end
|
adam@0
|
358 if self.badGlyphs then
|
adam@0
|
359 tinsert(warnings, "different glyphs")
|
adam@0
|
360 end
|
adam@0
|
361 local message = nil
|
adam@0
|
362 if #warnings > 0 then
|
adam@0
|
363 message = "Mr. Robot optimized for "
|
adam@0
|
364 for k = 1, #warnings do
|
adam@0
|
365 if k > 1 then
|
adam@0
|
366 message = message .. ', '
|
adam@0
|
367 end
|
adam@0
|
368 message = message .. warnings[k]
|
adam@0
|
369 end
|
adam@0
|
370 message = message .. "."
|
adam@0
|
371 end
|
adam@0
|
372 self:showImportWarning("WARNING: Please check your character before proceeding:", message)
|
adam@0
|
373 end
|
adam@0
|
374 self.upgradeItemHeader:Show()
|
adam@0
|
375 self.upgradeSlotHeader:Show()
|
adam@0
|
376 self.upgradeInstructions:Show()
|
adam@0
|
377 if i == 2 then
|
adam@0
|
378 self.upgradeInstructions:SetPoint("TOP", self.badItemSlots[1], "TOP", 0, 0)
|
adam@0
|
379 self.errorText2:Hide()
|
adam@0
|
380 else
|
adam@0
|
381 self.upgradeInstructions:SetPoint("TOP", self.badItemSlots[i], "BOTTOM", 0, -20)
|
adam@0
|
382 end
|
adam@0
|
383 end
|
adam@0
|
384
|
adam@0
|
385 -- hide the remaining slots
|
adam@0
|
386 while i <= #self.badItemSlots do
|
adam@0
|
387 self.badItemSlots[i]:Hide()
|
adam@0
|
388 self.badItemNames[i]:Hide()
|
adam@0
|
389 i = i + 1
|
adam@0
|
390 end
|
adam@0
|
391
|
adam@0
|
392 -- hide the remaining slots
|
adam@0
|
393 while j <= #self.upgradeItemSlots do
|
adam@0
|
394 self.upgradeItemSlots[j]:Hide()
|
adam@0
|
395 self.upgradeItemNames[j]:Hide()
|
adam@0
|
396 j = j + 1
|
adam@0
|
397 end
|
adam@0
|
398 end
|
adam@0
|
399
|
adam@0
|
400
|
adam@0
|
401 function AskMrRobot.SummaryTab:showImportError(text, text2)
|
adam@0
|
402 self.stamp:Hide()
|
adam@0
|
403 self.gemCount:Hide()
|
adam@0
|
404 self.instructions:Hide()
|
adam@0
|
405 self.reforgeCount:Hide()
|
adam@0
|
406 self.enchantCount:Hide()
|
adam@0
|
407 self.optimizationSummary:Hide()
|
adam@0
|
408 if text then
|
adam@0
|
409 self.errorText1:Show()
|
adam@0
|
410 self.errorText1:SetText('Error! Your import did not work:|n|n' .. text)
|
adam@0
|
411 self.errorText1:Show()
|
adam@0
|
412 self.errorText2:SetText(text2)
|
adam@0
|
413 self.errorText2:Show()
|
adam@0
|
414 self.importInfo:Hide()
|
adam@0
|
415 self.upgradeSlotHeader:Hide()
|
adam@0
|
416 self.upgradeItemHeader:Hide()
|
adam@0
|
417 self.upgradeInstructions:Hide()
|
adam@0
|
418 self.specIcon:Hide()
|
adam@0
|
419 self.specText:Hide()
|
adam@0
|
420 else
|
adam@0
|
421 self.errorText1:Hide()
|
adam@0
|
422 self.errorText2:Hide()
|
adam@0
|
423 self.importInfo:Show()
|
adam@0
|
424 end
|
adam@0
|
425 for i = 1, #AskMrRobot.slotNames + 1 do
|
adam@0
|
426 self.badItemSlots[i]:Hide()
|
adam@0
|
427 self.badItemNames[i]:Hide()
|
adam@0
|
428 end
|
adam@0
|
429 for i = 1, #AskMrRobot.slotNames do
|
adam@0
|
430 self.upgradeItemSlots[i]:Hide()
|
adam@0
|
431 self.upgradeItemNames[i]:Hide()
|
adam@0
|
432 end
|
adam@0
|
433 end
|
adam@0
|
434
|
adam@0
|
435 function AskMrRobot.SummaryTab:showImportWarning (text, text2)
|
adam@0
|
436 self.stamp:Hide()
|
adam@0
|
437 self.hasImportError = false
|
adam@0
|
438 self.gemCount:Hide()
|
adam@0
|
439 self.instructions:Hide()
|
adam@0
|
440 self.reforgeCount:Hide()
|
adam@0
|
441 self.enchantCount:Hide()
|
adam@0
|
442 self.specIcon:Hide()
|
adam@0
|
443 self.specText:Hide()
|
adam@0
|
444 self.optimizationSummary:Hide()
|
adam@0
|
445 if text then
|
adam@0
|
446 self.errorText1:SetText(text)
|
adam@0
|
447 self.errorText1:Show()
|
adam@0
|
448 self.errorText2:SetText(text2)
|
adam@0
|
449 self.errorText2:Show()
|
adam@0
|
450 else
|
adam@0
|
451 self.errorText1:Hide()
|
adam@0
|
452 self.errorText2:Hide()
|
adam@0
|
453 end
|
adam@0
|
454 end
|