Mercurial > wow > itemauditor
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Modules/AuctionHouse.lua Tue Aug 10 23:25:48 2010 -0700 @@ -0,0 +1,66 @@ +local ItemAuditor = select(2, ...) +local AuctionHouse = ItemAuditor:NewModule("AuctionHouse") + +local addon_options +local function getAddons() + -- this will ensure that the addons are only scanned once per session. + if not addon_options then + addon_options = {} + local total = 0 + local lastKey + if AucAdvanced and AucAdvanced.Version then + addon_options['auctioneer'] = 'Auctioneer' + total = total + 1 + lastKey = 'auctioneer' + end + if GetAuctionBuyout ~= nil then + addon_options['other'] = 'Other (GetAuctionBuyout compatibile)' + total = total + 1 + lastKey = 'other' + end + + if total == 1 or not ItemAuditor.db.profile.auction_addon then + ItemAuditor.db.profile.auction_addon = lastKey + end + end + + return addon_options +end + +local function getSelected() + -- just making sure ItemAuditor.db.profile.auction_addon is set if there is only one addon + if not addon_options then + getAddons() + end + + return ItemAuditor.db.profile.auction_addon +end + +ItemAuditor.Options.args.auction_house = { + name = "Auction House", + type = 'group', + args = { + ah_addon = { + type = "select", + name = "Addon", + desc = "", + values = getAddons, + get = getSelected, + set = function(info, value) ItemAuditor.db.profile.auction_addon = value end, + order = 0, + }, + }, +} + +function AuctionHouse:GetAuctionPrice(itemLink) + local link = select(2, GetItemInfo(itemLink)) + assert(link, 'Invalid item link: '..itemLink) + local addon = getSelected() + if GetAuctionBuyout ~= nil and addon == 'other' then + return GetAuctionBuyout(link) + elseif AucAdvanced and AucAdvanced.Version and addon == 'auctioneer' then + local _, _, _, _, _, lowBuy= AucAdvanced.Modules.Util.SimpleAuction.Private.GetItems(link) + return lowBuy + end + return nil +end \ No newline at end of file