Mercurial > wow > reagentmaker
comparison SecureMenu.lua @ 73:a77fd9d06ba4
Use the new internal data format everywhere
| author | contrebasse | 
|---|---|
| date | Sat, 14 May 2011 20:55:49 +0200 | 
| parents | 4f9fd025112b | 
| children | 3d344a2d8fdf | 
   comparison
  equal
  deleted
  inserted
  replaced
| 72:9cf4ca2145a3 | 73:a77fd9d06ba4 | 
|---|---|
| 208 local numMakable = math.floor(itemCount/(btn.reagentsForOneRecipe or 1)) | 208 local numMakable = math.floor(itemCount/(btn.reagentsForOneRecipe or 1)) | 
| 209 btn.countDetail:SetText(itemCount.."/"..(btn.reagentsForOneRecipe or 1)) | 209 btn.countDetail:SetText(itemCount.."/"..(btn.reagentsForOneRecipe or 1)) | 
| 210 | 210 | 
| 211 if numMakable>0 then | 211 if numMakable>0 then | 
| 212 -- Set action | 212 -- Set action | 
| 213 if type(action)=="function" then | 213 if type(btn.action)=="function" then | 
| 214 btn:SetScript("PreClick",btn.action) | 214 btn:SetScript("PreClick",btn.action) | 
| 215 btn:SetAttribute("type", nil) | 215 btn:SetAttribute("type", nil) | 
| 216 btn:SetAttribute("macrotext", nil) | 216 btn:SetAttribute("macrotext", nil) | 
| 217 else --if type(action)=="string" then | 217 else --if type(action)=="string" then | 
| 218 btn:SetScript("PreClick",nil) | 218 btn:SetScript("PreClick",nil) | 
| 219 btn:SetAttribute("type", "macro") | 219 btn:SetAttribute("type", "macro") | 
| 220 btn:SetAttribute("macrotext", btn.action..btn.itemNameString) | 220 btn:SetAttribute("macrotext", btn.action:format(btn.itemNameString)) | 
| 221 end -- if | 221 end -- if | 
| 222 | 222 | 
| 223 anyMakable = true | 223 anyMakable = true | 
| 224 btn.countDetail:SetTextColor(1, 1, 1, 1) | 224 btn.countDetail:SetTextColor(1, 1, 1, 1) | 
| 225 btn.icon:SetVertexColor(1,1,1); | 225 btn.icon:SetVertexColor(1,1,1); | 
| 247 itemIcon:SetVertexColor(0.5, 0.5, 0.5) | 247 itemIcon:SetVertexColor(0.5, 0.5, 0.5) | 
| 248 TitleText:SetTextColor(r,g,b,0.7) | 248 TitleText:SetTextColor(r,g,b,0.7) | 
| 249 end | 249 end | 
| 250 end | 250 end | 
| 251 | 251 | 
| 252 local function menuAddItem(action,itemID,reagent,spellLink) | 252 local function menuAddItem(action,itemID,reagent) | 
| 253 local btn | 253 local btn | 
| 254 -- Create a button only if necessary | 254 -- Create a button only if necessary | 
| 255 if numActiveEntries >= #menuEntries then | 255 if numActiveEntries >= #menuEntries then | 
| 256 btn = createMenuEntry() | 256 btn = createMenuEntry() | 
| 257 else | 257 else | 
| 258 btn = menuEntries[numActiveEntries+1] | 258 btn = menuEntries[numActiveEntries+1] | 
| 259 end | 259 end | 
| 260 | 260 | 
| 261 -- Set text and icon | 261 -- Set text and icon | 
| 262 local name, link, _, _, _, _, _, _, _, texture = GetItemInfo(reagent[1]) | 262 local name, link, _, _, _, _, _, _, _, texture = GetItemInfo(reagent[1]) | 
| 263 if name then | 263 if not (name and link and texture) then | 
| 264 btn.itemName:SetText(name) | 264 -- Will be retried on next OnUpdate | 
| 265 else | |
| 266 --A.DEBUG("No item name : "..reagent[1]) | |
| 267 return | 265 return | 
| 268 end | 266 end | 
| 269 | 267 btn.itemName:SetText(name) | 
| 270 if texture then | 268 btn.icon:SetTexture(texture) | 
| 271 btn.icon:SetTexture(texture) | |
| 272 else | |
| 273 --A.DEBUG("No item texture : "..reagent[1]) | |
| 274 return | |
| 275 end | |
| 276 | 269 | 
| 277 -- Set chance to have the item or the number of items created | 270 -- Set chance to have the item or the number of items created | 
| 278 if reagent[3] then | 271 if reagent[3] then | 
| 279 if reagent[3]<1 then | 272 if reagent[3]<1 then | 
| 280 btn.resultNumber:SetText((reagent[3]*100).."%") | 273 btn.resultNumber:SetText((reagent[3]*100).."%") | 
| 288 -- Save params | 281 -- Save params | 
| 289 btn.itemID = itemID | 282 btn.itemID = itemID | 
| 290 btn.reagentID = reagent[1] | 283 btn.reagentID = reagent[1] | 
| 291 btn.reagentLink = link | 284 btn.reagentLink = link | 
| 292 btn.reagentsForOneRecipe = reagent[2] | 285 btn.reagentsForOneRecipe = reagent[2] | 
| 293 btn.spellLink = spellLink | 286 btn.spellLink = reagent.spellLink | 
| 294 btn.action = action | 287 btn.action = action | 
| 295 btn.itemNameString = name | 288 btn.itemNameString = name | 
| 296 | 289 | 
| 297 btn:Show() | 290 btn:Show() | 
| 298 | 291 | 
| 334 local color = ITEM_QUALITY_COLORS[quality] | 327 local color = ITEM_QUALITY_COLORS[quality] | 
| 335 TitleText:SetTextColor(color.r, color.g, color.b) | 328 TitleText:SetTextColor(color.r, color.g, color.b) | 
| 336 | 329 | 
| 337 -- Save vars to show the tooltip later | 330 -- Save vars to show the tooltip later | 
| 338 MenuFrame.reagentLink = link | 331 MenuFrame.reagentLink = link | 
| 339 MenuFrame.spellLink = A.data[itemID].spellLink | 332 MenuFrame.spellLink = A.isRecipeUnique(A.data[itemID]) and A.data[itemID][1].spellLink | 
| 340 MenuFrame.itemID = itemID | 333 MenuFrame.itemID = itemID | 
| 341 MenuFrame.superItemID = superItemID -- optional | 334 MenuFrame.superItemID = superItemID -- optional, will be nil if not set | 
| 342 | 335 | 
| 343 -- Loop over the available recipes | 336 -- Loop over the available recipes | 
| 344 MenuFrame.state = true | 337 MenuFrame.state = true | 
| 345 for _,reagent in ipairs(A.data[itemID]) do | 338 for _,reagent in ipairs(A.data[itemID]) do | 
| 346 if A.data[itemID].spell then | 339 if reagent.macro then | 
| 347 -- Special spell | 340 -- Special spell | 
| 348 MenuFrame.state = menuAddItem(A.data[itemID].spell,itemID,reagent,A.data[itemID].spellLink) and MenuFrame.state | 341 MenuFrame.state = menuAddItem(reagent.macro,itemID,reagent) and MenuFrame.state | 
| 349 else | 342 else | 
| 350 -- Standard tradeskill spell UNTESTED | 343 -- Standard tradeskill spell UNTESTED | 
| 351 MenuFrame.state = menuAddItem(A.craft,itemID,reagent) and MenuFrame.state | 344 MenuFrame.state = menuAddItem(A.craft,itemID,reagent) and MenuFrame.state | 
| 352 end -- if | 345 end -- if | 
| 353 end -- for | 346 end -- for | 
