diff --git a/Assets/ManagedResources/~Lua/Modules/Bag/BagResolveAnCompoundPanel.lua b/Assets/ManagedResources/~Lua/Modules/Bag/BagResolveAnCompoundPanel.lua index 7c60b75f56..96c5482206 100644 --- a/Assets/ManagedResources/~Lua/Modules/Bag/BagResolveAnCompoundPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/Bag/BagResolveAnCompoundPanel.lua @@ -83,13 +83,8 @@ function BagResolveAnCompoundPanel:BindEvent() UIManager.ClosePanel(UIName.RewardEquipSingleShowPopup) if equipData then curResolveAllItemList={} - table.insert(curResolveAllItemList,equipData.id) - local type - if itemResolveType==ItemBaseType.Equip then - type=2 - else - type=1 - end + table.insert(curResolveAllItemList,tonumber(equipData.id)) + local type=1 NetManager.UseAndPriceItemRequest(type,curResolveAllItemList,function (drop) this.SendBackResolveReCallBack(drop) end) diff --git a/Assets/ManagedResources/~Lua/Modules/Equip/EquipManager.lua b/Assets/ManagedResources/~Lua/Modules/Equip/EquipManager.lua index d82a8afb13..982ef3a024 100644 --- a/Assets/ManagedResources/~Lua/Modules/Equip/EquipManager.lua +++ b/Assets/ManagedResources/~Lua/Modules/Equip/EquipManager.lua @@ -7,32 +7,9 @@ local equipStarsConfig = ConfigManager.GetConfig(ConfigName.EquipStarsConfig) --已装备的 this.equipDatas = {} ---新装备列表 -this.NewEquipList = {} function this.Initialize() end ---初始化装备数据 -function this.InitEquipData(_msgEquipList) - -- if not this.equipDatas then - -- this.equipDatas = {} - -- end - - -- for i = 1, #_msgEquipList do - -- this.InitUpdateEquipData(_msgEquipList[i],nil, false) - -- end - - -- local dataStr = nil - -- --初始化红点 - -- if PlayerManager.uid then - -- dataStr = PlayerPrefs.GetString("EquipNew" .. PlayerManager.uid) - -- end - -- if dataStr == "" then - -- this.NewEquipList = {} - -- else - -- this.NewEquipList = string.split(dataStr, "|") - -- end -end --upHeroDid function this.InitUpdateEquipData(id, upHeroDid, isFindHandBook) @@ -50,39 +27,39 @@ function this.InitUpdateEquipData(id, upHeroDid, isFindHandBook) else local equipdata = {} equipdata.equipConfig = equipConfig[id] - equipdata.itemConfig = itemConfig[id] - equipdata.id = id - if itemConfig[equipdata.id] then - equipdata.icon = GetResourcePath(itemConfig[equipdata.id].ResourceID) - else - Log(Language[10483] .. equipdata.id) - return - end - equipdata.frame = GetQuantityImageByquality(equipdata.equipConfig.Quality) - equipdata.quality = equipdata.equipConfig.Quality - equipdata.position = equipdata.equipConfig.Position + equipdata.itemConfig = itemConfig[id] + equipdata.id = id + if itemConfig[equipdata.id] then + equipdata.icon = GetResourcePath(itemConfig[equipdata.id].ResourceID) + else + Log(Language[10483] .. equipdata.id) + return + end + equipdata.frame = GetQuantityImageByquality(equipdata.equipConfig.Quality) + equipdata.quality = equipdata.equipConfig.Quality + equipdata.position = equipdata.equipConfig.Position - equipdata.mainAttribute = this.GetMainProList(equipdata.equipConfig) + equipdata.mainAttribute = this.GetMainProList(equipdata.equipConfig) - equipdata.backData = equipdata - this.equipDatas[id] = equipdata - if not this.equipDatas[id].upHeroDidList then - this.equipDatas[id].upHeroDidList = {} - end + equipdata.backData = equipdata + this.equipDatas[id] = equipdata + if not this.equipDatas[id].upHeroDidList then + this.equipDatas[id].upHeroDidList = {} + end - if upHeroDid and upHeroDid ~= "0" and not this.equipDatas[id].upHeroDidList[upHeroDid] then - this.equipDatas[id].upHeroDidList[upHeroDid] = upHeroDid - end - - isFindHandBook = isFindHandBook or true - if isFindHandBook then - PlayerManager.SetEquipHandBookListData(equipdata.id) - end + if upHeroDid and upHeroDid ~= "0" and not this.equipDatas[id].upHeroDidList[upHeroDid] then + this.equipDatas[id].upHeroDidList[upHeroDid] = upHeroDid + end + + isFindHandBook = isFindHandBook or true + if isFindHandBook then + PlayerManager.SetEquipHandBookListData(equipdata.id) + end end end -function this.UpdateEquipData(idlist,heroDid) - for i=1 ,#idlist do +function this.UpdateEquipData(idlist, heroDid) + for i = 1, #idlist do this.InitUpdateEquipData(idlist[i], heroDid, false) end end @@ -90,7 +67,6 @@ end -- --更新装备数据 新加 -- function this.UpdateEquipData(_equipData, isFindHandBook) - -- -- --新获得装备存红点 -- -- if equipConfig[_equipData.id] then -- -- this.InitUpdateEquipData(_equipData.id,isFindHandBook) @@ -105,25 +81,25 @@ end --获取单个装备数据 function this.GetSingleEquipData(_equipid) - _equipid = tonumber(_equipid) + _equipid = tonumber(_equipid) if not this.equipDatas[_equipid] then - this.InitUpdateEquipData(_equipid,nil,false) + this.InitUpdateEquipData(_equipid, nil, false) end return this.equipDatas[_equipid] end --通过装备职业和位置获得装备list.包括英雄自己身上装备的 -function this.GetEquipDataByEquipJobAndPos(_pos, _job, _heroDid) +function this.GetEquipDataByEquipJobAndPos(_pos, _job, _heroDid) --没装备的 - local equips = BagManager.GetEquipDataByEquipPosition(_job,_pos) + local equips = BagManager.GetEquipDataByEquipPosition(_job, _pos) local equipDatas = {} local index = 1 -- --自己装备 -- local idlist= HeroManager.GetHeroEquipIdList(_heroDid) - -- if not idlist then + -- if not idlist then -- return equips - -- end + -- end -- for __,equip in ipairs(equips) do -- local add = true @@ -138,7 +114,7 @@ function this.GetEquipDataByEquipJobAndPos(_pos, _job, _heroDid) -- if add then -- for i, v in ipairs(idlist) do -- local equip = this.GetSingleHeroSingleEquipData(tonumber(v),_heroDid) - -- if equip and (equip.equipConfig.Position == _pos or not _pos or _pos == 0) and (equip.equipConfig.ProfessionLimit == _job or not _job) then + -- if equip and (equip.equipConfig.Position == _pos or not _pos or _pos == 0) and (equip.equipConfig.ProfessionLimit == _job or not _job) then -- equips[#equips+1] = equip -- end -- end @@ -151,9 +127,9 @@ end function this.SetEquipUpHeroDid(_equipid, _heroDid) _equipid = tonumber(_equipid) if not this.equipDatas[_equipid] then - this.InitUpdateEquipData(_equipid,_heroDid,false) + this.InitUpdateEquipData(_equipid, _heroDid, false) else - if not this.equipDatas[_equipid].upHeroDidList then + if not this.equipDatas[_equipid].upHeroDidList then this.equipDatas[_equipid].upHeroDidList = {} end this.equipDatas[_equipid].upHeroDidList[_heroDid] = _heroDid @@ -163,7 +139,10 @@ end --删除装备穿戴的英雄 function this.DeleteSingleEquip(_equipid, _heroDid) _equipid = tonumber(_equipid) - if this.equipDatas[_equipid] and this.equipDatas[_equipid].upHeroDidList and this.equipDatas[_equipid].upHeroDidList[_heroDid] then + if + this.equipDatas[_equipid] and this.equipDatas[_equipid].upHeroDidList and + this.equipDatas[_equipid].upHeroDidList[_heroDid] + then this.equipDatas[_equipid].upHeroDidList[_heroDid] = nil end end @@ -171,7 +150,10 @@ end --获取单个英雄装备数据 function this.GetSingleHeroSingleEquipData(_equipid, _heroDid) _equipid = tonumber(_equipid) - if this.equipDatas[_equipid] and this.equipDatas[_equipid].upHeroDidList and this.equipDatas[_equipid].upHeroDidList[_heroDid] then + if + this.equipDatas[_equipid] and this.equipDatas[_equipid].upHeroDidList and + this.equipDatas[_equipid].upHeroDidList[_heroDid] + then return this.equipDatas[_equipid] else return nil @@ -235,7 +217,7 @@ function this.CalculateEquipWarForce(curEquip) addAllProVal[i] = 0 end - local mainAttribute=this.GetMainProList(curEquip) + local mainAttribute = this.GetMainProList(curEquip) for index, prop in pairs(mainAttribute) do local id = prop.propertyId local value = prop.propertyValue @@ -313,27 +295,30 @@ end function this.GetEquipCompoundDataByEquipPosition1(_position) local starEquips = ConfigManager.GetAllConfigsDataByKey(ConfigName.EquipConfig, "Position", _position) --LogBlue(#starEquips) - table.sort(starEquips,function(a,b) - return a.Star > b.Star - end) + table.sort( + starEquips, + function(a, b) + return a.Star > b.Star + end + ) - local num = starEquips[1].Star + local num = starEquips[1].Star --LogBlue(num) - local equips={} - for i=1,num do + local equips = {} + for i = 1, num do equips[i] = 0 end - local equipDatas = BagManager.GetEquipDataByEquipPosition(nil,_position) + local equipDatas = BagManager.GetEquipDataByEquipPosition(nil, _position) --LogBlue(#equipDatas) for i, v in ipairs(equipDatas) do local equip = this.GetSingleEquipData(v.id) --LogBlue(equip.id.." "..equip.equipConfig.Star.." "..v.num) - if equips[equip.equipConfig.Star]then - equips[equip.equipConfig.Star] = equips[equip.equipConfig.Star] + v.num - else - equips[equip.equipConfig.Star] = v.num - end + if equips[equip.equipConfig.Star] then + equips[equip.equipConfig.Star] = equips[equip.equipConfig.Star] + v.num + else + equips[equip.equipConfig.Star] = v.num + end end return equips end @@ -341,14 +326,11 @@ end function this.GetBagCompoundEquipDatasByequipSData(equipSData) --LogBlue(equipSData.Id.." "..equipSData.Position.." "..equipSData.Star) local equips = {} - local equipDatas=BagManager.GetBagItemDataByItemType(ItemBaseType.Equip) + local equipDatas = BagManager.GetBagItemDataByItemType(ItemBaseType.Equip) --LogBlue(#equipDatas) for i, v in ipairs(equipDatas) do local equipdata = this.GetSingleEquipData(v.id) - if - equipdata.equipConfig.Position == equipSData.Position and - equipdata.equipConfig.Star == equipSData.Star - 1 - then + if equipdata.equipConfig.Position == equipSData.Position and equipdata.equipConfig.Star == equipSData.Star - 1 then table.insert(equips, v) end end @@ -361,7 +343,7 @@ end --获取静态表中可合成装备静态信息 function this.GetAllSEquipsByPosition(_position) local starEquips = ConfigManager.GetAllConfigsDataByKey(ConfigName.EquipConfig, "Position", _position) - + local equips = {} for i = 1, #starEquips do if starEquips[i].Star and starEquips[i].Star > 0 and starEquips[i].Star ~= 1 then --最低等级的装备 合成不了 diff --git a/Assets/ManagedResources/~Lua/Modules/Operating/TimeLimitedCall.lua b/Assets/ManagedResources/~Lua/Modules/Operating/TimeLimitedCall.lua index 9ff274f0cc..ac0e16886c 100644 --- a/Assets/ManagedResources/~Lua/Modules/Operating/TimeLimitedCall.lua +++ b/Assets/ManagedResources/~Lua/Modules/Operating/TimeLimitedCall.lua @@ -21,7 +21,6 @@ local tabs={"btngroup/activity","btngroup/reward"} local secectTab=-1 local hero={[1]={name="Bg/hero1",id=10001,hero="x_xianshizaohuan_fx"},[2]={name="Bg/hero3",id=10041,hero="x_xianshizaohuan_ttjz"},[3]={name="Bg/hero2",id=10089,hero="x_xianshizaohuan_rd"}} -local curTimes = 0 local curLv=0 --当前阶段id @@ -128,6 +127,8 @@ end function TimeLimitedCall:RefreshNextLevelReward() local curActivityId=0 + local curLvstate = 0 + local curTimes = 0 curActivityId=ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.FindFairy) local data1= ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig,"ActivityId",curActivityId) --通过活动id获取阶段任务 local rewarditem diff --git a/Assets/ManagedResources/~Lua/Modules/Popup/RewardEquipSingleShowPopup.lua b/Assets/ManagedResources/~Lua/Modules/Popup/RewardEquipSingleShowPopup.lua index 805322ee92..e80efa2b8e 100644 --- a/Assets/ManagedResources/~Lua/Modules/Popup/RewardEquipSingleShowPopup.lua +++ b/Assets/ManagedResources/~Lua/Modules/Popup/RewardEquipSingleShowPopup.lua @@ -63,12 +63,16 @@ function RewardEquipSingleShowPopup:BindEvent() end) Util.AddClick(this.btnSure, function() if equipData.itemConfig.Quantity>=4 then - UIManager.OpenPanel(UIName.BagResolveAnCompoundPanel,2,equipData.itemConfig.ItemBaseType,equipData,function () func() end) + UIManager.OpenPanel(UIName.BagResolveAnCompoundPanel,2,equipData.itemConfig.ItemBaseType,equipData,function () + if func then + func() + end + end) else local curResolveAllItemList={} - table.insert(curResolveAllItemList,equipData.id) + table.insert(curResolveAllItemList,tonumber(equipData.id)) --0使用 1 分解物品 2 分解装备 3 分解妖灵师 - local type=1 + local type = 2 NetManager.UseAndPriceItemRequest(type,curResolveAllItemList,function (drop) this.SendBackResolveReCallBack(drop) end) diff --git a/Assets/ManagedResources/~Lua/Modules/RoleInfo/RoleEquipPanel.lua b/Assets/ManagedResources/~Lua/Modules/RoleInfo/RoleEquipPanel.lua index 5579deb9d6..b9b74b8bf6 100644 --- a/Assets/ManagedResources/~Lua/Modules/RoleInfo/RoleEquipPanel.lua +++ b/Assets/ManagedResources/~Lua/Modules/RoleInfo/RoleEquipPanel.lua @@ -269,6 +269,7 @@ function this:LeftBtnOnClick() this:OnClickTabBtn(indexBtnNum) end end + --一键装备 function this:AllEquipUpBtnOnClick() local allEquipIds = {} @@ -338,10 +339,10 @@ function this:AllEquipUpBtnOnClick() equiData = curEquip end end - if equiData.idDyn and isCanUpEquipTreasure then + if equiData.idDyn and isCanUpEquipTreasure and ((curHeroEquipDatas[index] and equiData.idDyn ~= curHeroEquipDatas[index].idDyn) or (not curHeroEquipDatas[index])) then table.insert(allTreasureIds, equiData.idDyn) else - if not curHeroEquipDatas[index] or tonumber(equiData.id) ~= tonumber(curHeroEquipDatas[index].id) then + if not equiData.idDyn and (not curHeroEquipDatas[index] or tonumber(equiData.id) ~= tonumber(curHeroEquipDatas[index].id))then table.insert(allEquipIds, tostring(equiData.id)) end end @@ -361,60 +362,57 @@ function this:AllEquipUpBtnOnClick() end end end - --isCanUpEquipTreasure - if allEquipIds and #allEquipIds > 0 then - for i = 1, #allEquipIds do - LogGreen(curHeroData.dynamicId .. " " .. allEquipIds[i]) - end - --穿装备协议 - NetManager.EquipWearRequest( - curHeroData.dynamicId, - allEquipIds, - 1, - function() - this.UpdateEquipPosHeroData(1, 4, allEquipIds) - --特效播放 - if equipEffectPos then - for i = 1, #equipEffectPos do - effectList[equipEffectPos[i]]:SetActive(false) - effectList[equipEffectPos[i]]:SetActive(true) - end - end + if (allEquipIds and #allEquipIds > 0) or (isCanUpEquipTreasure and allTreasureIds and #allTreasureIds > 0) then + --isCanUpEquipTreasure + if allEquipIds and #allEquipIds > 0 then + for i = 1, #allEquipIds do + LogGreen(curHeroData.dynamicId .. " " .. allEquipIds[i]) end - ) - else - PopupTipPanel.ShowTip(Language[11826]) - end - --6星英雄才能穿宝物 - if isCanUpEquipTreasure then - if curHeroData.star >= 6 then - --穿戴宝物 - if allTreasureIds and #allTreasureIds > 0 then - --for i = 1, #allEquipIds do - -- Log(curHeroData.dynamicId.. " "..curHeroData.id .." "..curHeroData.lv.." 一键宝物 "..i.." "..allEquipIds[i]) - --end - --穿装备协议 - NetManager.EquipWearRequest( - curHeroData.dynamicId, - allTreasureIds, - 2, - function() - this.UpdateEquipPosHeroData(2, 4, allTreasureIds) - --特效播放 - for i, v in pairs(treasureEffectPos) do - effectList[v]:SetActive(false) - effectList[v]:SetActive(true) + --穿装备协议 + NetManager.EquipWearRequest( + curHeroData.dynamicId, + allEquipIds, + 1, + function() + this.UpdateEquipPosHeroData(1, 4, allEquipIds) + --特效播放 + if equipEffectPos then + for i = 1, #equipEffectPos do + effectList[equipEffectPos[i]]:SetActive(false) + effectList[equipEffectPos[i]]:SetActive(true) end end - ) - else - PopupTipPanel.ShowTip(Language[11827]) - end + end + ) + end + --穿戴宝物 + if allTreasureIds and #allTreasureIds > 0 then + --for i = 1, #allEquipIds do + -- Log(curHeroData.dynamicId.. " "..curHeroData.id .." "..curHeroData.lv.." 一键宝物 "..i.." "..allEquipIds[i]) + --end + --穿装备协议 + NetManager.EquipWearRequest( + curHeroData.dynamicId, + allTreasureIds, + 2, + function() + this.UpdateEquipPosHeroData(2, 4, allTreasureIds) + --特效播放 + for i, v in pairs(treasureEffectPos) do + effectList[v]:SetActive(false) + effectList[v]:SetActive(true) + end + end + ) + end + else + if not allEquipIds or #allEquipIds < 1 then + PopupTipPanel.ShowTip(Language[11826]) + else + PopupTipPanel.ShowTip(Language[11827]) end end - PlaySoundWithoutClick(SoundConfig.Sound_Wear) - this.ShowHeroEquip() end @@ -453,6 +451,7 @@ function this:AllEquipDownBtnOnClick() this.ShowHeroEquip() -- this:OnClickTabBtn(indexBtnNum) end + function this.ShowHeroEquip() --装备 if curHeroData and spcialConfig then @@ -611,6 +610,7 @@ function this.ShowHeroEquip() local allAddProVal = HeroManager.CalculateHeroAllProValList(1, curHeroData.dynamicId, false) this.force.text = allAddProVal[HeroProType.WarPower] end + function this:SetSelectBtn() this.selectBtn:SetActive(indexBtnNum ~= PosIdConst.All) if indexBtnNum ~= PosIdConst.All then @@ -664,6 +664,7 @@ function this:OnClickTabBtn(_index) this:SetItemData(allEquipTreasure) end end + --设置背包列表数据 local curHeroCanUpEquipTabs = {} function this:SetItemData(_itemDatas) @@ -841,7 +842,7 @@ function this.UpdateEquipPosHeroData(_equipOrTreasure, _type, _selectEquipDataLi curSelectEquipData = _selectEquipDataList[1] EquipManager.DeleteSingleEquip(curSelectEquipData.id, curHeroData.dynamicId) for i = 1, #curHeroData.equipIdList do - if curHeroData.equipIdList[i] == curSelectEquipData.id then + if tonumber(curHeroData.equipIdList[i]) == tonumber(curSelectEquipData.id) then --英雄删除装备 table.remove(curHeroData.equipIdList, i) break @@ -873,7 +874,10 @@ function this.UpdateEquipPosHeroData(_equipOrTreasure, _type, _selectEquipDataLi --英雄替换新选择装备 if curHeroEquipDatas[curSelectEquipData.equipConfig.Position] then for i = 1, #curHeroData.equipIdList do - if tonumber(curHeroData.equipIdList[i])== tonumber(curHeroEquipDatas[curSelectEquipData.equipConfig.Position].id) then + if + tonumber(curHeroData.equipIdList[i]) == + tonumber(curHeroEquipDatas[curSelectEquipData.equipConfig.Position].id) + then curHeroData.equipIdList[i] = curSelectEquipData.id break end @@ -905,7 +909,6 @@ function this.UpdateEquipPosHeroData(_equipOrTreasure, _type, _selectEquipDataLi -- end -- end --宝物 - LogBlue(#curHeroData.equipIdList) for n, m in ipairs(_selectEquipDataList) do local isadd = true for i = 1, #curHeroData.equipIdList do @@ -913,7 +916,7 @@ function this.UpdateEquipPosHeroData(_equipOrTreasure, _type, _selectEquipDataLi EquipManager.DeleteSingleEquip(curHeroData.equipIdList[i], curHeroData.dynamicId) curHeroData.equipIdList[i] = m HeroManager.GetHeroEquipIdList1(curHeroData.dynamicId, m) - isadd=false + isadd = false break end end @@ -922,7 +925,6 @@ function this.UpdateEquipPosHeroData(_equipOrTreasure, _type, _selectEquipDataLi end end EquipManager.UpdateEquipData(_selectEquipDataList, curHeroData.dynamicId) - LogBlue(#curHeroData.equipIdList) else for k, v in ipairs(curHeroData.jewels) do EquipTreasureManager.SetTreasureUpOrDown(v, "0") @@ -958,11 +960,10 @@ function this.UpdateEquipPosHeroData(_equipOrTreasure, _type, _selectEquipDataLi end --刷新界面 this.ShowHeroEquip() - --上阵刷新红点 - if isUpZhen then - this.allEquipUpRedPoint:SetActive(#HeroManager.GetHeroIsUpEquip(curHeroData.dynamicId) > 0) - end + LogBlue("961:"..#HeroManager.GetHeroIsUpEquip(curHeroData.dynamicId)) + LogBlue(tostring(isUpZhen)) + this.allEquipUpRedPoint:SetActive(#HeroManager.GetHeroIsUpEquip(curHeroData.dynamicId) > 0 and isUpZhen) --刷新当前英雄可穿装备 if indexBtnNum == PosIdConst.All then this:OnClickAllBtn() @@ -995,6 +996,8 @@ function this:AddRedPointVale(_equipDatas) end function this:SortEquipDatas(_equipDatas) + LogBlue("995:"..#HeroManager.GetHeroIsUpEquip(curHeroData.dynamicId)) + LogBlue(tostring(isUpZhen)) if teamHero[curHeroData.dynamicId] then isUpZhen = true this.allEquipUpRedPoint:SetActive(#HeroManager.GetHeroIsUpEquip(curHeroData.dynamicId) > 0)