95 lines
2.1 KiB
Plaintext
95 lines
2.1 KiB
Plaintext
autoImport("EquipMakeData")
|
|
|
|
EquipMakeProxy = class('EquipMakeProxy', pm.Proxy)
|
|
EquipMakeProxy.Instance = nil;
|
|
EquipMakeProxy.NAME = "EquipMakeProxy"
|
|
|
|
local packageCheck = GameConfig.PackageMaterialCheck and GameConfig.PackageMaterialCheck.produce
|
|
|
|
function EquipMakeProxy:ctor(proxyName, data)
|
|
self.proxyName = proxyName or EquipMakeProxy.NAME
|
|
if(EquipMakeProxy.Instance == nil) then
|
|
EquipMakeProxy.Instance = self
|
|
end
|
|
if data ~= nil then
|
|
self:setData(data)
|
|
end
|
|
|
|
self:Init()
|
|
end
|
|
|
|
function EquipMakeProxy:Init()
|
|
self.makeList = {}
|
|
self.makeTable = {}
|
|
self.selfProfessionMakeList = {}
|
|
self.lastNpcId = 0
|
|
end
|
|
|
|
function EquipMakeProxy:InitMakeList()
|
|
TableUtility.ArrayClear(self.makeList)
|
|
|
|
for k,v in pairs(Table_Compose) do
|
|
if v.Category == 1 and v.NpcId == self.npcId then
|
|
self.makeList[#self.makeList + 1] = k
|
|
|
|
if self.makeTable[k] == nil then
|
|
self.makeTable[k] = EquipMakeData.new(k)
|
|
end
|
|
end
|
|
end
|
|
|
|
table.sort(self.makeList ,function(l,r)
|
|
local lData = self.makeTable[l]
|
|
local rData = self.makeTable[r]
|
|
|
|
if lData:IsLock() == rData:IsLock() then
|
|
if lData.itemData:CanEquip() ~= rData.itemData:CanEquip() then
|
|
return lData.itemData:CanEquip()
|
|
end
|
|
else
|
|
return not lData:IsLock()
|
|
end
|
|
end)
|
|
|
|
self.lastNpcId = self.npcId
|
|
end
|
|
|
|
function EquipMakeProxy:SetNpcId(npcId)
|
|
self.npcId = npcId
|
|
end
|
|
|
|
function EquipMakeProxy:GetMakeList()
|
|
if self.lastNpcId ~= self.npcId then
|
|
self:InitMakeList()
|
|
end
|
|
|
|
return self.makeList
|
|
end
|
|
|
|
function EquipMakeProxy:GetSelfProfessionMakeList()
|
|
|
|
TableUtility.ArrayClear(self.selfProfessionMakeList)
|
|
|
|
for i=1,#self.makeList do
|
|
local composeId = self.makeList[i]
|
|
local makeData = self.makeTable[composeId]
|
|
if makeData and makeData.itemData:CanEquip() then
|
|
self.selfProfessionMakeList[#self.selfProfessionMakeList + 1] = composeId
|
|
end
|
|
end
|
|
|
|
return self.selfProfessionMakeList
|
|
end
|
|
|
|
function EquipMakeProxy:GetMakeData(composeId)
|
|
return self.makeTable[composeId]
|
|
end
|
|
|
|
function EquipMakeProxy:GetItemNumByStaticID(itemid)
|
|
local _BagProxy = BagProxy.Instance
|
|
local count = 0
|
|
for i=1,#packageCheck do
|
|
count = count + _BagProxy:GetItemNumByStaticID(itemid, packageCheck[i])
|
|
end
|
|
return count
|
|
end |