Mercurial > wow > askmrrobot
comparison ui/GemTab.lua @ 17:e77e01abce98
Warlords of Draenor pre-patch
| author | Adam tegen <adam.tegen@gmail.com> |
|---|---|
| date | Mon, 13 Oct 2014 21:28:32 -0500 |
| parents | ece9167c0d1c |
| children |
comparison
equal
deleted
inserted
replaced
| 16:9793e8b683d2 | 17:e77e01abce98 |
|---|---|
| 23 AskMrRobot.GemTab = AskMrRobot.inheritsFrom(AskMrRobot.Frame) | 23 AskMrRobot.GemTab = AskMrRobot.inheritsFrom(AskMrRobot.Frame) |
| 24 | 24 |
| 25 local MAX_SLOTS = 4 | 25 local MAX_SLOTS = 4 |
| 26 | 26 |
| 27 -- GemTab contructor | 27 -- GemTab contructor |
| 28 function AskMrRobot.GemTab:new(name, parent) | 28 function AskMrRobot.GemTab:new(parent) |
| 29 -- create a new frame (if one isn't supplied) | 29 -- create a new frame (if one isn't supplied) |
| 30 local tab = AskMrRobot.Frame:new(name, parent) | 30 local tab = AskMrRobot.Frame:new(nil, parent) |
| 31 tab:SetPoint("TOPLEFT") | 31 tab:SetPoint("TOPLEFT") |
| 32 tab:SetPoint("BOTTOMRIGHT") | 32 tab:SetPoint("BOTTOMRIGHT") |
| 33 -- use the GemTab class | 33 -- use the GemTab class |
| 34 setmetatable(tab, { __index = AskMrRobot.GemTab }) | 34 setmetatable(tab, { __index = AskMrRobot.GemTab }) |
| 35 tab:Hide() | 35 tab:Hide() |
| 124 self.count = 0 | 124 self.count = 0 |
| 125 | 125 |
| 126 local i = 1 | 126 local i = 1 |
| 127 local badGemTotal = 0 | 127 local badGemTotal = 0 |
| 128 | 128 |
| 129 if AskMrRobot.itemDiffs.gems then | 129 if AskMrRobot.ComparisonResult.gems then |
| 130 for slotNum, badGems in AskMrRobot.sortSlots(AskMrRobot.itemDiffs.gems) do | 130 for iSlot = 1, #AskMrRobot.slotIds do |
| 131 self.count = self.count + 1 | 131 local slotId = AskMrRobot.slotIds[iSlot] |
| 132 if i <= MAX_SLOTS then | 132 local badGems = AskMrRobot.ComparisonResult.gems[slotId] |
| 133 self.jewelPanels[i]:Show() | 133 if badGems ~= nil then |
| 134 self.count = self.count + 1 | |
| 135 if i <= MAX_SLOTS then | |
| 136 self.jewelPanels[i]:Show() | |
| 137 end | |
| 138 for g = 1, #badGems.optimized do | |
| 139 if not AskMrRobot.AreGemsCompatible(badGems.optimized[g], badGems.current[g]) then | |
| 140 badGemTotal = badGemTotal + 1 | |
| 141 end | |
| 142 end | |
| 143 i = i + 1 | |
| 134 end | 144 end |
| 135 for k, v in pairs(badGems.badGems) do | |
| 136 badGemTotal = badGemTotal + 1 | |
| 137 end | |
| 138 i = i + 1 | |
| 139 end | 145 end |
| 140 end | 146 end |
| 141 | 147 |
| 142 self.gemsTextToOptimize:SetFormattedText(L.AMR_GEMTAB_TO_OPTIMIZE, badGemTotal) | 148 self.gemsTextToOptimize:SetFormattedText(L.AMR_GEMTAB_TO_OPTIMIZE, badGemTotal) |
| 143 | 149 |
| 153 else | 159 else |
| 154 self.gemSlotHeader:Show() | 160 self.gemSlotHeader:Show() |
| 155 self.gemCurrentHeader:Show() | 161 self.gemCurrentHeader:Show() |
| 156 self.gemOptimizedHeader:Show() | 162 self.gemOptimizedHeader:Show() |
| 157 self.gemsTextToOptimize:Show() | 163 self.gemsTextToOptimize:Show() |
| 158 self.button:Show() | 164 --self.button:Show() |
| 159 self.usePerfectButton:Show() | 165 --self.usePerfectButton:Show() |
| 160 self.stamp:Hide() | 166 self.stamp:Hide() |
| 161 end | 167 end |
| 162 | 168 |
| 163 for i = self.count + 1, MAX_SLOTS do | 169 for i = self.count + 1, MAX_SLOTS do |
| 164 self.jewelPanels[i]:Hide() | 170 self.jewelPanels[i]:Hide() |
| 177 local self = scrollframe.parent | 183 local self = scrollframe.parent |
| 178 FauxScrollFrame_Update(self.fauxScroll, self.count, #self.jewelPanels, self.jewelPanels[1]:GetHeight()) | 184 FauxScrollFrame_Update(self.fauxScroll, self.count, #self.jewelPanels, self.jewelPanels[1]:GetHeight()) |
| 179 local offset = FauxScrollFrame_GetOffset(scrollframe) | 185 local offset = FauxScrollFrame_GetOffset(scrollframe) |
| 180 | 186 |
| 181 local i = 1 | 187 local i = 1 |
| 182 for slotNum, badGems in AskMrRobot.sortSlots(AskMrRobot.itemDiffs.gems) do | 188 if AskMrRobot.ComparisonResult.gems then |
| 183 if offset > 0 then | 189 for iSlot = 1, #AskMrRobot.slotIds do |
| 184 offset = offset - 1 | 190 local slotId = AskMrRobot.slotIds[iSlot] |
| 185 else | 191 local badGems = AskMrRobot.ComparisonResult.gems[slotId] |
| 186 | 192 if badGems ~= nil then |
| 187 if i > MAX_SLOTS then | 193 if offset > 0 then |
| 188 break | 194 offset = offset - 1 |
| 195 else | |
| 196 | |
| 197 if i > MAX_SLOTS then | |
| 198 break | |
| 199 end | |
| 200 | |
| 201 self.jewelPanels[i]:SetItemLink(AskMrRobot.slotDisplayText[slotId], AmrDb.Equipped[AmrDb.ActiveSpec][slotId]) | |
| 202 self.jewelPanels[i]:SetOptimizedGems(badGems.optimized, badGems.current) | |
| 203 i = i + 1 | |
| 204 end | |
| 189 end | 205 end |
| 190 | |
| 191 self.jewelPanels[i]:SetItemLink(_G[strupper(AskMrRobot.slotNames[slotNum])], badGems.current.link ) | |
| 192 self.jewelPanels[i]:SetOptimizedGems(badGems.optimized, badGems.badGems) | |
| 193 i = i + 1 | |
| 194 end | 206 end |
| 195 end | 207 end |
| 196 end | 208 end |
