Remove old bank.lua
This commit is contained in:
parent
f646799cf5
commit
aabbddf93b
201
bank.lua
201
bank.lua
|
@ -1,201 +0,0 @@
|
|||
local name, addon = ...
|
||||
local modulname = 'bank'
|
||||
local events = {}
|
||||
local modul = {
|
||||
['name'] = modulname
|
||||
}
|
||||
local BankIsOpen = false
|
||||
function modul.Guess(id)
|
||||
local dbcount = modul.Get(id)
|
||||
local count = GetItemCount(id,true)
|
||||
local playerID = addon.getPID()
|
||||
local tt = false
|
||||
if(playerID and dbcount > count) then
|
||||
local dif = dbcount - count
|
||||
modul['db'][playerID] = modul['db'][playerID] or {}
|
||||
local tab = modul['db'][playerID]
|
||||
for bag=5,GetNumBankSlots()+4 do
|
||||
local btab = tab[bag]
|
||||
if(btab and btab[id] and btab[id]['count']>0) then
|
||||
while(dif>0 and btab[id]['count']>0) do
|
||||
tt = true
|
||||
dif = dif - 1
|
||||
btab[id]['count'] = btab[id]['count'] - 1
|
||||
if(btab[id]['count'] == 0) then
|
||||
btab[id] = nil
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
if(tt) then
|
||||
addon:updateTT()
|
||||
end
|
||||
end
|
||||
local function guess(bag)
|
||||
if(bag) then
|
||||
for id, v in pairs(bag) do
|
||||
local _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, isCraftingReagent = GetItemInfo(id)
|
||||
if(isCraftingReagent) then
|
||||
modul.Guess(id)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
local function scanAllBankBags(delayed)
|
||||
if(not addon:funcSync(scanAllBankBags,delayed)) then return end
|
||||
local playerID = addon.getPID()
|
||||
if(playerID) then
|
||||
modul['db'][playerID] = modul['db'][playerID] or {}
|
||||
local tab = modul['db'][playerID]
|
||||
for bag=5,GetNumBankSlots()+4 do
|
||||
tab[bag] = tab[bag] or {}
|
||||
if(BankIsOpen) then
|
||||
tab[bag] = addon:scanBag(bag) -- loop all bought bankbags
|
||||
else
|
||||
guess(tab)
|
||||
end
|
||||
end
|
||||
if(BankIsOpen) then
|
||||
tab[-1] = addon:scanBag(-1) -- Main bankbag
|
||||
else
|
||||
guess(tab[-1])
|
||||
end
|
||||
tab[-3] = addon:scanBag(-3) -- Main reagentbag
|
||||
for k,v in pairs(modul['db'][playerID]) do
|
||||
if(not(k==-1) and not(k==-3) and not(k>4 and k<=GetNumBankSlots()+4)) then
|
||||
tab[k] = nil -- prevent bogus bankbags
|
||||
end
|
||||
end
|
||||
addon:updateTT()
|
||||
end
|
||||
end
|
||||
local function bagLoop(id,res)
|
||||
local cName = modulname.."Count"
|
||||
local dName = cName
|
||||
for k,v in pairs(modul['db']) do
|
||||
local units = addon:getUnits()
|
||||
if(units[k]) then
|
||||
local playerID = addon.getPID()
|
||||
if(playerID and units[k]['faction']==units[playerID]['faction']) then
|
||||
local unitname = units[k]['name']
|
||||
for bag,list in pairs(v) do
|
||||
if(bag == -3) then
|
||||
dName = 'reagentCount'
|
||||
else
|
||||
dName = cName
|
||||
end
|
||||
for a,b in pairs(list) do
|
||||
if(a == id) then
|
||||
res[unitname] = res[unitname] or {
|
||||
[dName] = 0
|
||||
}
|
||||
res[unitname][dName] = res[unitname][dName] or 0
|
||||
res[unitname][dName] = res[unitname][dName] + b['count']
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return res
|
||||
end
|
||||
function modul.Get(id)
|
||||
local cName = modulname.."Count"
|
||||
local dName = cName
|
||||
local res = 0
|
||||
local playerID = addon.getPID()
|
||||
for k,v in pairs(modul['db']) do
|
||||
if(playerID and k==playerID) then
|
||||
for bag,list in pairs(v) do
|
||||
for a,b in pairs(list) do
|
||||
if(a == id) then
|
||||
res = res + b['count']
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return res
|
||||
end
|
||||
|
||||
function modul.Search(id,res)
|
||||
local playerID = addon.getPID()
|
||||
if(playerID) then
|
||||
modul['db'][playerID] = modul['db'][playerID] or {}
|
||||
end
|
||||
return playerID and bagLoop(id,res) or res
|
||||
end
|
||||
function modul.Output(input,sum,b)
|
||||
local desc = modulname..'Count'
|
||||
if(b[desc] and b[desc]>0) then
|
||||
input[#input+1] = format("Bank %s",b[desc])
|
||||
sum = sum + b[desc]
|
||||
end
|
||||
desc = 'reagentCount'
|
||||
if(b[desc] and b[desc]>0) then
|
||||
input[#input+1] = format("Reagents %s",b[desc])
|
||||
sum = sum + b[desc]
|
||||
end
|
||||
return input,sum
|
||||
end
|
||||
function events:BANKFRAME_OPENED(event,...)
|
||||
BankIsOpen = true
|
||||
scanAllBankBags(nil)
|
||||
end
|
||||
function events:BANKFRAME_CLOSED(event,...)
|
||||
BankIsOpen = false
|
||||
end
|
||||
function events:PLAYERBANKBAGSLOTS_CHANGED(event,...)
|
||||
scanAllBankBags(nil)
|
||||
end
|
||||
function events:PLAYERBANKSLOTS_CHANGED(event,...)
|
||||
scanAllBankBags(nil)
|
||||
end
|
||||
function events:PLAYERREAGENTBANKSLOTS_CHANGED(event,...)
|
||||
scanAllBankBags(nil)
|
||||
end
|
||||
function events:ITEM_UNLOCKED(event,...)
|
||||
scanAllBankBags(nil)
|
||||
end
|
||||
local function OnEvent(self,event,...)
|
||||
local playerID = addon.getPID()
|
||||
if(playerID and type(events[event])=='function') then
|
||||
modul['db'] = addon:GetNamespace(modul.name)
|
||||
modul['db'][playerID] = modul['db'][playerID] or {}
|
||||
events[event](self, event, ...)
|
||||
end
|
||||
end
|
||||
function modul:Delete(id, typ)
|
||||
self['db'] = addon:GetNamespace(modul.name)
|
||||
if(typ == self['typ'] and id and id>0) then
|
||||
self['db'][id] = nil
|
||||
end
|
||||
end
|
||||
local skipClassic = {
|
||||
['PLAYERREAGENTBANKSLOTS_CHANGED'] = true
|
||||
}
|
||||
function modul:Enable()
|
||||
self.status = true
|
||||
local list = {}
|
||||
for event,func in pairs(events) do
|
||||
if(not addon:IsClassic() or (addon:IsClassic() and not skipClassic[event])) then
|
||||
list[#list+1] = event
|
||||
end
|
||||
end
|
||||
self.frame = addon:RegisterFunc(list,"OnEvent",OnEvent)
|
||||
end
|
||||
function modul:Disable()
|
||||
self.status = false
|
||||
for event,func in pairs(events) do
|
||||
if(not addon:IsClassic() or (addon:IsClassic() and not skipClassic[event])) then
|
||||
self.frame:UnregisterEvent(event)
|
||||
end
|
||||
end
|
||||
end
|
||||
addon['inits'][#addon['inits']+1] = function()
|
||||
modul.db,modul.status = addon:RegisterModul(modul, modulname)
|
||||
if(modul.status) then
|
||||
modul:Enable()
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue