Mercurial > wow > itemauditor
diff Modules/Crafting.lua @ 72:8e9beb8a0330
Added options to enable or disable crafting deciders.
author | Asa Ayers <Asa.Ayers@Gmail.com> |
---|---|
date | Wed, 28 Jul 2010 23:17:30 -0700 |
parents | 3930518cb8d9 |
children | 71de6e86a1a4 |
line wrap: on
line diff
--- a/Modules/Crafting.lua Wed Jul 28 22:46:13 2010 -0700 +++ b/Modules/Crafting.lua Wed Jul 28 23:17:30 2010 -0700 @@ -65,7 +65,7 @@ values = craftingThresholdsDisplay, get = function() return ItemAuditor.db.char.crafting_threshold end, set = function(info, value) ItemAuditor.db.char.crafting_threshold = value end, - order = 11, + order = 0, }, queue_destination = { type = "select", @@ -74,8 +74,14 @@ values = displayCraftingDestinations, get = function() return select(2, Crafting.GetQueueDestination()) end, set = function(info, value) ItemAuditor.db.profile.queue_destination = value end, - order = 11, + order = 1, }, + deciders = { + type="header", + name="Crafting Deciders", + order = 10, + }, + }, } @@ -261,15 +267,32 @@ local craftingDeciders = {} -function Crafting.RegisterCraftingDecider(name, decider) +function Crafting.RegisterCraftingDecider(name, decider, options) craftingDeciders[name] = decider + + ItemAuditor.Options.args.crafting_options.args['chk'..name] = { + type = "toggle", + name = "Enable "..name, + get = function() return not ItemAuditor.db.profile.disabled_deciders[name] end, + set = function(info, value) ItemAuditor.db.profile.disabled_deciders[name] = not value end, + order = 11, + } + + if options then + ItemAuditor.Options.args.crafting_options.args['decider_'..name] = { + handler = {}, + name = name, + type = 'group', + args = options, + } + end end local lastWinnder = "" local function Decide(data) local newDecision = 0 for name, decider in pairs(craftingDeciders) do - if name ~= lastWinner then + if not ItemAuditor.db.profile.disabled_deciders[name] and name ~= lastWinner then newDecision = decider(data) if newDecision > data.queue then data.queue = newDecision @@ -294,6 +317,7 @@ end return -1 end + Crafting.RegisterCraftingDecider('Is Profitable', isProfitable) local function tableFilter(self, row, ...)