comparison SecureMenu.lua @ 10:b6a5902f376f

Display the percent chance to have an item while prospecting
author contrebasse
date Sat, 02 Apr 2011 22:42:53 +0200
parents cea9633a6d4e
children 2716889648bd
comparison
equal deleted inserted replaced
9:70f7d02c2cec 10:b6a5902f376f
133 countDetail:SetPoint("BOTTOMRIGHT",icon,"BOTTOMRIGHT",-1,1) 133 countDetail:SetPoint("BOTTOMRIGHT",icon,"BOTTOMRIGHT",-1,1)
134 countDetail:SetJustifyH("RIGHT") 134 countDetail:SetJustifyH("RIGHT")
135 countDetail:SetJustifyV("BOTTOM") 135 countDetail:SetJustifyV("BOTTOM")
136 btn.countDetail = countDetail 136 btn.countDetail = countDetail
137 137
138 local resultNumber = btn:CreateFontString(nil,"ARTWORK","NumberFontNormal")
139 resultNumber:SetPoint("TOPLEFT",icon,"TOPLEFT",1,-1)
140 resultNumber:SetJustifyH("LEFT")
141 resultNumber:SetJustifyV("TOP")
142 btn.resultNumber = resultNumber
143
138 btn:HookScript("OnEnter", btnEntered) 144 btn:HookScript("OnEnter", btnEntered)
139 btn:HookScript("OnLeave", btnLeft) 145 btn:HookScript("OnLeave", btnLeft)
140 146
141 return btn 147 return btn
142 end 148 end
178 itemIcon:SetVertexColor(0.5, 0.5, 0.5) 184 itemIcon:SetVertexColor(0.5, 0.5, 0.5)
179 TitleText:SetTextColor(r,g,b,0.7) 185 TitleText:SetTextColor(r,g,b,0.7)
180 end 186 end
181 end 187 end
182 188
183 local function menuAddItem(action,itemID,reagentID,reagentsForOneRecipe,spellID) 189 local function menuAddItem(action,itemID,reagent,spellID)
184 local btn 190 local btn
185 -- Create a button only if necessary 191 -- Create a button only if necessary
186 if numActiveEntries >= #menuEntries then 192 if numActiveEntries >= #menuEntries then
187 btn = createMenuEntry() 193 btn = createMenuEntry()
188 else 194 else
189 btn = menuEntries[numActiveEntries+1] 195 btn = menuEntries[numActiveEntries+1]
190 end 196 end
191 197
192 -- Set text and icon 198 -- Set text and icon
193 local name, link, quality, iLevel, reqLevel, class, subclass, maxStack, equipSlot, texture, vendorPrice = GetItemInfo(reagentID) 199 local name, link, quality, iLevel, reqLevel, class, subclass, maxStack, equipSlot, texture, vendorPrice = GetItemInfo(reagent[1])
194 if name then 200 if name then
195 btn.itemName:SetText(name) 201 btn.itemName:SetText(name)
196 else 202 else
197 A.DEBUG("No item name : "..reagentID) 203 A.DEBUG("No item name : "..reagent[1])
198 return 204 return
199 end 205 end
200 206
201 if texture then 207 if texture then
202 btn.icon:SetTexture(texture) 208 btn.icon:SetTexture(texture)
203 else 209 else
204 A.DEBUG("No item texture : "..reagentID) 210 A.DEBUG("No item texture : "..reagent[1])
205 return 211 return
212 end
213
214 -- Set chance to have the item or the number of items created
215 if reagent[3] then
216 if reagent[3]<1 then
217 btn.resultNumber:SetText((reagent[3]*100).."%")
218 elseif reagent[3]>1 then
219 btn.resultNumber:SetText(reagent[3])
220 end
206 end 221 end
207 222
208 -- Save params 223 -- Save params
209 btn.itemID = itemID 224 btn.itemID = itemID
210 btn.reagentID = reagentID 225 btn.reagentID = reagent[1]
211 btn.reagentLink = link 226 btn.reagentLink = link
212 btn.reagentsForOneRecipe = reagentsForOneRecipe 227 btn.reagentsForOneRecipe = reagent[2]
213 btn.spellID = spellID 228 btn.spellID = spellID
214 229
215 -- Set action 230 -- Set action
216 if type(action)=="function" then 231 if type(action)=="function" then
217 btn:SetScript("PreClick",action) 232 btn:SetScript("PreClick",action)
253 268
254 -- Loop over the available recipes 269 -- Loop over the available recipes
255 for _,reagent in ipairs(A.data[itemID]) do 270 for _,reagent in ipairs(A.data[itemID]) do
256 if A.data[itemID].spell then 271 if A.data[itemID].spell then
257 -- Special spell 272 -- Special spell
258 menuAddItem(A.data[itemID].spell,itemID,reagent[1],reagent[2],A.data[itemID].spellID) 273 menuAddItem(A.data[itemID].spell,itemID,reagent,A.data[itemID].spellID)
259 else 274 else
260 -- Standard tradeskill spell UNTESTED 275 -- Standard tradeskill spell UNTESTED
261 menuAddItem(A.craft,itemID,reagent[1],reagent[2]) 276 menuAddItem(A.craft,itemID,reagent)
262 end -- if 277 end -- if
263 end -- for 278 end -- for
264 279
265 MenuFrame:SetHeight(89 + numActiveEntries*(MENU_ENTRY_HEIGHT+2)) 280 MenuFrame:SetHeight(89 + numActiveEntries*(MENU_ENTRY_HEIGHT+2))
266 281