【装备套装】 套装属性向下兼容
parent
72e1cd322b
commit
03e0e73665
|
|
@ -1654,4 +1654,9 @@ function SetHeroIcon(heroData,icon,heroConfig)
|
|||
local heroSkinconfig = ConfigManager.GetConfigDataByKey(ConfigName.HeroSkin,"Type",heroData.skinId)
|
||||
icon.sprite = Util.LoadSprite(GetResourcePath(heroSkinconfig.Icon))
|
||||
end
|
||||
end
|
||||
|
||||
function GetEquipSuitStr(Star,num)
|
||||
|
||||
return string.format("%s件%s%s星激活",num,QualityNameDef[ ConfigManager.GetConfigDataByKey(ConfigName.EquipConfig,"Star",Star).Quality],ConfigManager.GetConfigData(ConfigName.EquipStarsConfig,Star).Stars)
|
||||
end
|
||||
|
|
@ -887,7 +887,7 @@ local function CalculateHeroUpEquipsProAddVal(_heroId)
|
|||
local curHeroData = HeroManager.GetSingleHeroData(_heroId)
|
||||
if curHeroData then
|
||||
--Log("#curHeroData.equipIdList "..#curHeroData.equipIdList)
|
||||
local equipSuit = {}
|
||||
local equipSuit = this.GetCurHeroEquipSuitPros(curHeroData.equipIdList)
|
||||
--[id] = 件数
|
||||
for i = 1, #curHeroData.equipIdList do
|
||||
local curEquip = EquipManager.GetSingleHeroSingleEquipData(curHeroData.equipIdList[i], _heroId)
|
||||
|
|
@ -901,33 +901,19 @@ local function CalculateHeroUpEquipsProAddVal(_heroId)
|
|||
addAllProVal[id] = value
|
||||
end
|
||||
end
|
||||
--套装加成
|
||||
if equipSuit[curEquip.equipConfig.SuiteID] then
|
||||
equipSuit[curEquip.equipConfig.SuiteID] = equipSuit[curEquip.equipConfig.SuiteID] + 1
|
||||
else
|
||||
equipSuit[curEquip.equipConfig.SuiteID] = 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if equipSuit and LengthOfTable(equipSuit) > 0 then
|
||||
for i, v in pairs(equipSuit) do
|
||||
if equipSuit and #equipSuit > 0 then
|
||||
for i, v in ipairs(equipSuit) do
|
||||
local curSuitConfig = equipsuite[i]
|
||||
if v > 1 then
|
||||
if curSuitConfig and curSuitConfig.SuiteValue then
|
||||
for j = 1, #curSuitConfig.SuiteValue do
|
||||
if v >= curSuitConfig.SuiteValue[j][1] then
|
||||
local curProId = curSuitConfig.SuiteValue[j][2]
|
||||
local curProVal = curSuitConfig.SuiteValue[j][3]
|
||||
--LogError("套装激活 "..i .." "..v.." curProId "..curProId .." "..curProVal)
|
||||
if addAllProVal[curProId] then
|
||||
addAllProVal[curProId] = addAllProVal[curProId] + curProVal
|
||||
else
|
||||
addAllProVal[curProId] = curProVal
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
local curProId = equipSuit[i][2][2]
|
||||
local curProVal = equipSuit[i][2][3]
|
||||
-- LogError("套装激活 curProId "..curProId .." "..curProVal)
|
||||
if addAllProVal[curProId] then
|
||||
addAllProVal[curProId] = addAllProVal[curProId] + curProVal
|
||||
else
|
||||
addAllProVal[curProId] = curProVal
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -3374,4 +3360,43 @@ function this.ChangeDownSkinId(heroSId,skinId)
|
|||
end
|
||||
Game.GlobalEvent:DispatchEvent(GameEvent.Role.UpdateSkin)
|
||||
end
|
||||
|
||||
--套装新属性计算
|
||||
--{{Star,{4#61#100}},{},{}
|
||||
local equipSuiteConfig = ConfigManager.GetConfig(ConfigName.EquipSuiteConfig)
|
||||
function this.GetCurHeroEquipSuitPros(equipIdList)
|
||||
local equipSuit = {}
|
||||
local curEquipLists = {}
|
||||
for i = 1, #equipIdList do
|
||||
--套装加成
|
||||
local curEquip = EquipManager.GetSingleEquipData(equipIdList[i])
|
||||
if equipSuiteConfig[curEquip.equipConfig.Star] then--有套装
|
||||
table.insert(curEquipLists,curEquip)
|
||||
if #curEquipLists > 1 then
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
table.sort(curEquipLists, function(a, b)
|
||||
return a.equipConfig.Star < b.equipConfig.Star
|
||||
end)
|
||||
local num = #curEquipLists
|
||||
-- LogPink("num "..num)
|
||||
for i = 1, #curEquipLists do
|
||||
for _, configInfo in ConfigPairs(ConfigManager.GetConfig(ConfigName.EquipSuiteConfig)) do
|
||||
if configInfo.Id == curEquipLists[i].equipConfig.Star then
|
||||
if num > 1 then
|
||||
-- LogPink("curEquipLists[i].equipConfig.Star "..curEquipLists[i].equipConfig.Star.." "..num)
|
||||
local curequipSuit = {curEquipLists[i].equipConfig.Star,configInfo.SuiteValue[num - 1]}
|
||||
table.insert(equipSuit,curequipSuit)
|
||||
end
|
||||
num = num - 1
|
||||
end
|
||||
end
|
||||
end
|
||||
-- for i = 1, #equipSuit do
|
||||
-- LogPink(equipSuit[i][1].. " " ..equipSuit[i][2][1])
|
||||
-- end
|
||||
return equipSuit
|
||||
end
|
||||
return this
|
||||
|
|
@ -194,9 +194,10 @@ function RewardEquipSingleShowPopup:OnShow()
|
|||
end
|
||||
|
||||
--套装属性
|
||||
if equipConfigData.SuiteID and equipConfigData.SuiteID > 0 then
|
||||
local suitConFig = ConfigManager.GetConfig(ConfigName.EquipSuiteConfig)
|
||||
if suitConFig[equipConfigData.Star] then
|
||||
Util.GetGameObject(self.transform, "Content/proRect"):SetActive(true)
|
||||
local curSuitConFig = ConfigManager.GetConfigData(ConfigName.EquipSuiteConfig,equipConfigData.SuiteID)
|
||||
local curSuitConFig = suitConFig[equipConfigData.Star]
|
||||
if curSuitConFig then
|
||||
for i = 1, math.max(#curSuitConFig.SuiteValue, #curSuitProGo) do
|
||||
local go = curSuitProGo[i]
|
||||
|
|
@ -213,7 +214,7 @@ function RewardEquipSingleShowPopup:OnShow()
|
|||
local go = curSuitProGo[i]
|
||||
go.gameObject:SetActive(true)
|
||||
Util.GetGameObject(go.transform, "proName"):GetComponent("Text").text = "<color=#B9AC97>" .. propertyConfig[curSuitConFig.SuiteValue[i][2]].Info .."+ "..GetPropertyFormatStr(propertyConfig[curSuitConFig.SuiteValue[i][2]].Style,curSuitConFig.SuiteValue[i][3]) .. "</color>"
|
||||
Util.GetGameObject(go.transform, "proVale"):GetComponent("Text").text = "<color=#B9AC97>(" .. curSuitConFig.SuiteValue[i][1] .. Language[11095]
|
||||
Util.GetGameObject(go.transform, "proVale"):GetComponent("Text").text = "<color=#B9AC97>(" .. GetEquipSuitStr(equipConfigData.Star,curSuitConFig.SuiteValue[i][1]) .. ")</color>"
|
||||
end
|
||||
end
|
||||
else
|
||||
|
|
|
|||
|
|
@ -147,16 +147,7 @@ end
|
|||
|
||||
function RoleEquipChangePopup:OnShow()
|
||||
if curHeroData then
|
||||
equipSuit = {}
|
||||
for i = 1, #curHeroData.equipIdList do
|
||||
--套装加成
|
||||
local curEquip = EquipManager.GetSingleEquipData(curHeroData.equipIdList[i])
|
||||
if equipSuit[curEquip.equipConfig.SuiteID] then
|
||||
equipSuit[curEquip.equipConfig.SuiteID] = equipSuit[curEquip.equipConfig.SuiteID] + 1
|
||||
else
|
||||
equipSuit[curEquip.equipConfig.SuiteID] = 1
|
||||
end
|
||||
end
|
||||
equipSuit = HeroManager.GetCurHeroEquipSuitPros(curHeroData.equipIdList)
|
||||
end
|
||||
if type==1 then
|
||||
this.curEquipText:SetActive(false)
|
||||
|
|
@ -275,11 +266,24 @@ function this.ShowCurEquipData(index)
|
|||
end
|
||||
end
|
||||
--套装属性
|
||||
if equipConfigData.SuiteID and equipConfigData.SuiteID > 0 then
|
||||
local endProList = {}
|
||||
if type == 1 then
|
||||
if equipSuiteConfig[equipConfigData.Star] then
|
||||
for i = 1, #equipSuiteConfig[equipConfigData.Star].SuiteValue do
|
||||
table.insert(endProList,{equipConfigData.Star,equipSuiteConfig[equipConfigData.Star].SuiteValue[i]})
|
||||
end
|
||||
end
|
||||
else
|
||||
endProList = equipSuit
|
||||
-- if equipSuit and #equipSuit > 0 then
|
||||
-- for i = 1, #equipSuit do
|
||||
-- table.insert(endProList,equipSuit[i])
|
||||
-- end
|
||||
-- end
|
||||
end
|
||||
if endProList and #endProList > 0 then
|
||||
this.curotherProscroll:SetActive(true)
|
||||
local curSuitConFig = equipSuiteConfig[equipConfigData.SuiteID]
|
||||
if curSuitConFig then
|
||||
for i = 1, math.max(#curSuitConFig.SuiteValue, #curSuitProGo) do
|
||||
for i = 1, math.max(#endProList, #curSuitProGo) do
|
||||
local go = curSuitProGo[i]
|
||||
if not go then
|
||||
go = newObject(this.otherProPre)
|
||||
|
|
@ -290,20 +294,21 @@ function this.ShowCurEquipData(index)
|
|||
end
|
||||
go.gameObject:SetActive(false)
|
||||
end
|
||||
for i = 1, #curSuitConFig.SuiteValue do
|
||||
for i = 1, #endProList do
|
||||
local go = curSuitProGo[i]
|
||||
go.gameObject:SetActive(true)
|
||||
--type=data[2]--1 穿戴 2 卸下 3 替换
|
||||
Util.GetGameObject(go.transform, "curProName"):GetComponent("Text").text = "<color=#B9AC97>" .. propertyConfig[curSuitConFig.SuiteValue[i][2]].Info .."+ "..GetPropertyFormatStr(propertyConfig[curSuitConFig.SuiteValue[i][2]].Style,curSuitConFig.SuiteValue[i][3]) .. "</color>"
|
||||
Util.GetGameObject(go.transform, "curProVale"):GetComponent("Text").text = "<color=#B9AC97>(" .. curSuitConFig.SuiteValue[i][1] .. Language[11095]
|
||||
if type == 2 then
|
||||
if equipSuit[curSuitConFig.Id] >= curSuitConFig.SuiteValue[i][1] then--激活的要变颜色
|
||||
Util.GetGameObject(go.transform, "curProName"):GetComponent("Text").text = "<color=#66FF00>" .. propertyConfig[curSuitConFig.SuiteValue[i][2]].Info.."+ "..GetPropertyFormatStr(propertyConfig[curSuitConFig.SuiteValue[i][2]].Style,curSuitConFig.SuiteValue[i][3]) .. "</color>"
|
||||
Util.GetGameObject(go.transform, "curProVale"):GetComponent("Text").text = "<color=#66FF00>(" .. curSuitConFig.SuiteValue[i][1] .. Language[11095]
|
||||
end
|
||||
local proId = endProList[i][2][2]
|
||||
local proVa = endProList[i][2][3]
|
||||
local suitNum = endProList[i][2][1]
|
||||
local Star = endProList[i][1]
|
||||
Util.GetGameObject(go.transform, "curProName"):GetComponent("Text").text = "<color=#B9AC97>" .. propertyConfig[proId].Info .."+ "..GetPropertyFormatStr(propertyConfig[proId].Style,proVa) .. "</color>"
|
||||
Util.GetGameObject(go.transform, "curProVale"):GetComponent("Text").text = "<color=#B9AC97>(" .. GetEquipSuitStr(Star,suitNum) .. ")</color>"
|
||||
if type == 2 then--激活的要变颜色
|
||||
Util.GetGameObject(go.transform, "curProName"):GetComponent("Text").text = "<color=#66FF00>" .. propertyConfig[proId].Info .."+ "..GetPropertyFormatStr(propertyConfig[proId].Style,proVa) .. "</color>"
|
||||
Util.GetGameObject(go.transform, "curProVale"):GetComponent("Text").text = "<color=#66FF00>(" .. GetEquipSuitStr(Star,suitNum) .. ")</color>"
|
||||
end
|
||||
end
|
||||
end
|
||||
else
|
||||
this.curotherProscroll:SetActive(false)
|
||||
end
|
||||
|
|
@ -416,9 +421,9 @@ function this.NextCurEquipData()
|
|||
end
|
||||
end
|
||||
--套装属性
|
||||
if equipConfigData.SuiteID and equipConfigData.SuiteID > 0 then
|
||||
if equipSuiteConfig[equipConfigData.Star] then
|
||||
this.nexttherProscroll:SetActive(true)
|
||||
local curSuitConFig = equipSuiteConfig[equipConfigData.SuiteID]
|
||||
local curSuitConFig = equipSuiteConfig[equipConfigData.Star]
|
||||
if curSuitConFig then
|
||||
for i = 1, math.max(#curSuitConFig.SuiteValue, #nextSuitProGo) do
|
||||
local go = nextSuitProGo[i]
|
||||
|
|
@ -436,7 +441,7 @@ function this.NextCurEquipData()
|
|||
go.gameObject:SetActive(true)
|
||||
--type=data[2]--1 穿戴 2 卸下 3 替换
|
||||
Util.GetGameObject(go.transform, "curProName"):GetComponent("Text").text = "<color=#B9AC97>" .. propertyConfig[curSuitConFig.SuiteValue[i][2]].Info .."+ "..curSuitConFig.SuiteValue[i][3].. "</color>"
|
||||
Util.GetGameObject(go.transform, "curProVale"):GetComponent("Text").text = "<color=#B9AC97>(+" .. curSuitConFig.SuiteValue[i][1] .. Language[11095]
|
||||
Util.GetGameObject(go.transform, "curProVale"):GetComponent("Text").text = "<color=#B9AC97>(+" .. GetEquipSuitStr(equipConfigData.Star,curSuitConFig.SuiteValue[i][1]) .. ")</color>"
|
||||
end
|
||||
end
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in New Issue