/trunk
local id = addon['getItemId'](itemLink) |
if(id) then |
empty = false |
if(addon['getResult'](id)) then |
addon['setResult'](id,nil) |
end |
itemlist[id] = itemlist[id] or {} |
itemlist[id]['count'] = itemlist[id]['count'] or 0 |
itemlist[id]['count'] = itemlist[id]['count'] + itemCount |
end |
function events:GUILDBANKFRAME_OPENED(event,...) |
GuildBankIsOpen = true |
addon['wipeResults']() |
end |
local function OnEvent(self,event,...) |
guildID = addon.getGID() |
if(guildID and type(events[event])=='function') then |
modul['db'] = addon:GetNamespace(modul.name) |
modul['db'][guildID] = modul['db'][guildID] or {} |
addon['wipeResults']() |
events[event](self, event, ...) |
end |
end |
if(id) then |
id = tonumber(id) |
empty = false |
if(addon['getResult'](id)) then |
addon['setResult'](id,nil) |
end |
itemlist[id] = itemlist[id] or {} |
itemlist[id]['count'] = (itemlist[id]['count'] or 0) + 1 |
addon['getName'](id) |
if(playerID and type(events[event])=='function') then |
modul['db'] = addon:GetNamespace(modul.name) |
modul['db'][playerID] = modul['db'][playerID] or {} |
addon['wipeResults']() |
events[event](self, event, ...) |
end |
end |
addon['curLoop'] = curLoop |
local function SetCurrencyByID(tooltip,itemID) |
if(itemID) then |
local res = addon['getResult'](itemID) |
if(not res) then |
res = curLoop({},itemID) |
end |
local res = curLoop({},itemID) |
if(res) then |
tooltip:AddLine(" ") |
for name, b in pairs(res) do |
if(playerID and type(events[event])=='function') then |
modul['db'] = addon:GetNamespace(modul.name) |
modul['db'][playerID] = modul['db'][playerID] or {} |
addon['wipeResults']() |
events[event](self, event, ...) |
end |
end |
local GetContainerItemLink = GetContainerItemLink |
local GetContainerItemInfo = GetContainerItemInfo |
local strsplit,format = strsplit,format |
local resultStore = {} |
local sync = {} |
local moduls = {} |
local defaults = { |
addon['getUnits'] = function() |
return addon:GetNamespace('units') |
end |
local function getResult(id) |
if(resultStore[id]) then |
return resultStore[id] |
end |
end |
addon['getResult'] = getResult |
local function setResult(id,res) |
resultStore[id] = res |
end |
addon['setResult'] = setResult |
local function search(id,res) |
res = res or {} |
for k,modul in pairs(moduls) do |
local id = addon['getItemId'](link) |
if(id)then |
tooltip:AddLine() |
local res = getResult(id) |
if(not res) then |
res = search(id) |
setResult(id,res) |
end |
for name,b in pairs(res) do |
for name,b in pairs(search(id)) do |
local dname, drealm = strsplit(" - ",name) |
local input,sum = output(input,sum,b) |
if(sum>0) then |
end |
input = nil |
end |
res = specialoutput(tooltip, id) |
specialoutput(tooltip, id) |
if(db['showID']) then |
tooltip:AddLine(format("Id: %i",id)) |
end |
setName(id,GetItemInfo(id)) |
end |
end |
addon['wipeResults'] = function() |
wipe(resultStore) |
end |
local function specialoutput2(id,res) |
for k,modul in pairs(moduls) do |
if(type(modul.Search2)=='function') then |
local _,itemlink = GetItemInfo(id) |
local dout = {} |
if(id)then |
local res = getResult(id) |
if(not res) then |
res = search(id) |
setResult(id,res) |
end |
for name,b in pairs(res) do |
for name,b in pairs(search(id)) do |
local dname, drealm = strsplit(" - ",name) |
local input,sum = output(input,sum,b) |
dout[#dout+1] = (format(" %s: %s [ %s ] ",dname,sum,addon['colorize'](table.concat(input,', '),"ffffff"))) |
local function scanAllBankBags(delayed) |
if(not BankIsOpen) then return end |
if(not addon['funcSync'](scanAllBankBags,delayed)) then return end |
addon['wipeResults']() |
local playerID = addon.getPID() |
if(playerID) then |
modul['db'][playerID] = modul['db'][playerID] or {} |
if(playerID and type(events[event])=='function') then |
modul['db'] = addon:GetNamespace(modul.name) |
modul['db'][playerID] = modul['db'][playerID] or {} |
addon['wipeResults']() |
events[event](self, event, ...) |
end |
end |
local id = addon['getItemId'](itemLink) |
if(id) then |
empty = false |
if(addon['getResult'](id)) then |
addon['setResult'](id,nil) |
end |
itemlist[id] = itemlist[id] or {} |
itemlist[id]['count'] = itemlist[id]['count'] or 0 |
itemlist[id]['count'] = itemlist[id]['count'] + itemCount |
end |
local function scanAllBags(delayed) |
if(not addon['funcSync'](scanAllBags,delayed)) then return end |
addon['wipeResults']() |
for bag=0,4 do |
modul['db'][playerID][bag] = addon['scanBag'](bag) -- loop all bought bags |
end |
if(playerID and type(events[event])=='function') then |
modul['db'] = addon:GetNamespace(modul.name) |
modul['db'][playerID] = modul['db'][playerID] or {} |
addon['wipeResults']() |
events[event](self, event, ...) |
end |
end |
local id = GetInventoryItemID("player", i) |
if(id) then |
empty = false |
if(addon['getResult'](id)) then |
addon['setResult'](id,nil) |
end |
itemlist[id] = itemlist[id] or {} |
itemlist[id]['count'] = (itemlist[id]['count'] or 0) + 1 |
addon['getName'](id) |
if(playerID and type(events[event])=='function') then |
modul['db'] = addon:GetNamespace(modul.name) |
modul['db'][playerID] = modul['db'][playerID] or {} |
addon['wipeResults']() |
events[event](self, event, ...) |
end |
end |