130 lines
2.7 KiB
Plaintext
130 lines
2.7 KiB
Plaintext
EquipSuitData = class("EquipSuitData");
|
|
|
|
function EquipSuitData:ctor(teamId)
|
|
self.teamId = teamId;
|
|
self.suitDatas = {};
|
|
self.isactive = false;
|
|
end
|
|
|
|
function EquipSuitData:AddSuitData(suitData)
|
|
table.insert(self.suitDatas, suitData)
|
|
end
|
|
|
|
function EquipSuitData:GetSuitNum()
|
|
if(self.suitDatas[1])then
|
|
return #self.suitDatas[1].Suitid;
|
|
end
|
|
return 0
|
|
end
|
|
|
|
function EquipSuitData:GetSuitName()
|
|
if(self.suitDatas[1])then
|
|
return self.suitDatas[1].EquipSuitDsc;
|
|
end
|
|
return ""
|
|
end
|
|
|
|
function EquipSuitData:GetEffectDesc()
|
|
if(self.suitDatas[1])then
|
|
return self.suitDatas[1].EffectDesc;
|
|
end
|
|
return ""
|
|
end
|
|
|
|
function EquipSuitData:CheckIsActive()
|
|
for i=1,#self.suitDatas do
|
|
local suitData = self.suitDatas[i];
|
|
local suitDataEquip = suitData.Suitid;
|
|
if(BagProxy.Instance:MatchEquipSuitBySuitId(suitData.id) >= #suitDataEquip)then
|
|
return true;
|
|
end
|
|
end
|
|
return false;
|
|
end
|
|
|
|
------------------------------------------------------------------------------
|
|
|
|
SuitInfo = class("SuitInfo")
|
|
|
|
|
|
|
|
local initEquipUpdate = false;
|
|
local upgradeProductKeyMap = {};
|
|
local suitIdsMap = {};
|
|
function SuitInfo.GetSuitIds(itemid)
|
|
local ids = suitIdsMap[itemid];
|
|
if(ids ~= nil)then
|
|
return ids;
|
|
end
|
|
|
|
ids = {};
|
|
suitIdsMap[itemid] = ids;
|
|
|
|
local s1 = Table_Equip[itemid] and Table_Equip[itemid].SuitID;
|
|
for i=1,#s1 do
|
|
table.insert(ids, s1[i]);
|
|
end
|
|
|
|
if(not initEquipUpdate)then
|
|
initEquipUpdate = true;
|
|
|
|
for upgradeid, upgradeData in pairs(Table_EquipUpgrade)do
|
|
local productId = upgradeData.Product;
|
|
if(productId)then
|
|
if(upgradeProductKeyMap[productId] == nil)then
|
|
upgradeProductKeyMap[productId] = {};
|
|
end
|
|
table.insert(upgradeProductKeyMap[productId], upgradeData);
|
|
end
|
|
end
|
|
end
|
|
local surItems = upgradeProductKeyMap[itemid];
|
|
if(surItems)then
|
|
for i=1,#surItems do
|
|
local surId = surItems[i].id;
|
|
local suitids = BagProxy.GetSuitIds(surId);
|
|
for i=1,#suitids do
|
|
if(TableUtility.ArrayFindIndex(ids, suitids[i]) == 0)then
|
|
table.insert(ids, suitids[i]);
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
return ids;
|
|
end
|
|
|
|
|
|
|
|
function SuitInfo:ctor(suitIds)
|
|
self.equipSuitDatas = {};
|
|
local teamMap = {};
|
|
for i=1,#suitIds do
|
|
local sData = Table_EquipSuit[ suitIds[i] ];
|
|
if(sData)then
|
|
if(sData.SameTeam)then
|
|
local equipSuitData = teamMap[sData.SameTeam];
|
|
if(equipSuitData == nil)then
|
|
equipSuitData = EquipSuitData.new( sData.SameTeam );
|
|
teamMap[sData.SameTeam] = equipSuitData;
|
|
|
|
table.insert(self.equipSuitDatas, equipSuitData);
|
|
end
|
|
equipSuitData:AddSuitData(sData);
|
|
else
|
|
local equipSuitData = EquipSuitData.new( nil );
|
|
equipSuitData:AddSuitData(sData);
|
|
|
|
table.insert(self.equipSuitDatas, equipSuitData);
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function SuitInfo:GetEquipSuitDatas()
|
|
return self.equipSuitDatas;
|
|
end
|
|
|
|
|
|
|