装备提交

dev_chengFeng
jiaoyangna 2020-07-07 16:35:57 +08:00
parent 7f54e3c88a
commit c6bfa772e5
5 changed files with 136 additions and 151 deletions

View File

@ -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)

View File

@ -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 --最低等级的装备 合成不了

View File

@ -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

View File

@ -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)

View File

@ -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)