diff --git a/Assets/ManagedResources/~Lua/Modules/RoleInfo/RoleEquipPanel.lua b/Assets/ManagedResources/~Lua/Modules/RoleInfo/RoleEquipPanel.lua index 989b8d4582..4f57b976b4 100644 --- a/Assets/ManagedResources/~Lua/Modules/RoleInfo/RoleEquipPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/RoleInfo/RoleEquipPanel.lua @@ -327,7 +327,7 @@ function this:AllEquipUpBtnOnClick() LogBlue("装备id:"..curHeroEquipDatas[index].id.." indexMaxPower:"..indexMaxPower) end end - LogGreen("循环计算每个装备的战力") + LogGreen("循环计算每个装备的战力") for i = 1, #curPosEquip do local addPower = 0 local curEquip = curPosEquip[i] @@ -936,13 +936,6 @@ function this.UpdateEquipPosHeroData(_equipOrTreasure, _type, _selectEquipDataLi elseif _type == 4 then --一键穿 把身上装备解绑英雄id if _equipOrTreasure == 1 then - -- for i=1,#_selectEquipDataList do - -- local temp = EquipManager.GetSingleHeroSingleEquipData(_selectEquipDataList[i],curHeroData.dynamicId) - -- if not temp then - -- LogBlue(_selectEquipDataList[i].." "..curHeroData.dynamicId) - -- end - -- end - --宝物 for n, m in ipairs(_selectEquipDataList) do local isadd = true for i = 1, #curHeroData.equipIdList do @@ -960,16 +953,24 @@ function this.UpdateEquipPosHeroData(_equipOrTreasure, _type, _selectEquipDataLi end EquipManager.UpdateEquipData(_selectEquipDataList, curHeroData.dynamicId) else - for k, v in ipairs(curHeroData.jewels) do - EquipTreasureManager.SetTreasureUpOrDown(v, "0") - end - curHeroData.jewels = {} for i = 1, #_selectEquipDataList do - --把选择的装备绑上英雄 - EquipTreasureManager.SetTreasureUpOrDown(_selectEquipDataList[i], curHeroData.dynamicId) - --穿 - --再把英雄装备list 清空并添加上新选择的装备 - table.insert(curHeroData.jewels, _selectEquipDataList[i]) + local isadd = true + for i = 1, #curHeroData.jewels do + --如果英雄身上有和选中的宝物的位置相同的,就替换 + if EquipTreasureManager.GetSingleTreasureByIdDyn(curHeroData.jewels[i]).equipType == + EquipTreasureManager.GetSingleTreasureByIdDyn(_selectEquipDataList[i]).equipType then + EquipTreasureManager.SetTreasureUpOrDown(curHeroData.jewels[i], "0") + EquipTreasureManager.SetTreasureUpOrDown(_selectEquipDataList[i], curHeroData.dynamicId) + table.remove(curHeroData.jewels,i) + table.insert(curHeroData.jewels, _selectEquipDataList[i]) + isadd = false + break + end + end + if isadd then + EquipTreasureManager.SetTreasureUpOrDown(_selectEquipDataList[i], curHeroData.dynamicId) + table.insert(curHeroData.jewels, _selectEquipDataList[i]) + end end end elseif _type == 5 then