comparison Modules/AuctionHouse.lua @ 89:54b917340283

Ticket 27 - Added the ability to select your preferred auction adodn if multiple are available.
author Asa Ayers <Asa.Ayers@Gmail.com>
date Tue, 10 Aug 2010 23:25:48 -0700
parents
children fab2c4341602
comparison
equal deleted inserted replaced
88:2112f71c4237 89:54b917340283
1 local ItemAuditor = select(2, ...)
2 local AuctionHouse = ItemAuditor:NewModule("AuctionHouse")
3
4 local addon_options
5 local function getAddons()
6 -- this will ensure that the addons are only scanned once per session.
7 if not addon_options then
8 addon_options = {}
9 local total = 0
10 local lastKey
11 if AucAdvanced and AucAdvanced.Version then
12 addon_options['auctioneer'] = 'Auctioneer'
13 total = total + 1
14 lastKey = 'auctioneer'
15 end
16 if GetAuctionBuyout ~= nil then
17 addon_options['other'] = 'Other (GetAuctionBuyout compatibile)'
18 total = total + 1
19 lastKey = 'other'
20 end
21
22 if total == 1 or not ItemAuditor.db.profile.auction_addon then
23 ItemAuditor.db.profile.auction_addon = lastKey
24 end
25 end
26
27 return addon_options
28 end
29
30 local function getSelected()
31 -- just making sure ItemAuditor.db.profile.auction_addon is set if there is only one addon
32 if not addon_options then
33 getAddons()
34 end
35
36 return ItemAuditor.db.profile.auction_addon
37 end
38
39 ItemAuditor.Options.args.auction_house = {
40 name = "Auction House",
41 type = 'group',
42 args = {
43 ah_addon = {
44 type = "select",
45 name = "Addon",
46 desc = "",
47 values = getAddons,
48 get = getSelected,
49 set = function(info, value) ItemAuditor.db.profile.auction_addon = value end,
50 order = 0,
51 },
52 },
53 }
54
55 function AuctionHouse:GetAuctionPrice(itemLink)
56 local link = select(2, GetItemInfo(itemLink))
57 assert(link, 'Invalid item link: '..itemLink)
58 local addon = getSelected()
59 if GetAuctionBuyout ~= nil and addon == 'other' then
60 return GetAuctionBuyout(link)
61 elseif AucAdvanced and AucAdvanced.Version and addon == 'auctioneer' then
62 local _, _, _, _, _, lowBuy= AucAdvanced.Modules.Util.SimpleAuction.Private.GetItems(link)
63 return lowBuy
64 end
65 return nil
66 end