Merge branch 'china/dev-c' of http://60.1.1.230/gaoxin/JL_Client into china/dev-c

dev_chengFeng
gaoxin 2021-04-19 13:59:14 +08:00
commit a7575c7d37
10 changed files with 328 additions and 157 deletions

View File

@ -921,6 +921,7 @@ ItemType = {
SelfBox = 20,--自选宝箱
LingShou =21,--灵兽
LingShouChip =22,--灵兽碎片
heroDogFood =25,--英雄狗粮
}
JumpType = {
Lottery = 1, --招募
@ -2424,4 +2425,8 @@ IndexValueDef = {
[1] = 1,--首充1美元
[15] = 2, --首充15美元
},
}
}
RoleUpStarMatType = {
item = 2,--万能狗粮
hero = 1,--英雄
}

View File

@ -29,6 +29,9 @@ UPHEROLEVELREQUEST_TARGETLEVEL_FIELD = protobuf.FieldDescriptor();
UPHEROLEVELRESPONSE = protobuf.Descriptor();
UPHEROLEVELRESPONSE_HEROID_FIELD = protobuf.FieldDescriptor();
UPHEROLEVELRESPONSE_TARGETLEVEL_FIELD = protobuf.FieldDescriptor();
CONSUMEITEM = protobuf.Descriptor();
CONSUMEITEM_TYPE_FIELD = protobuf.FieldDescriptor();
CONSUMEITEM_ITEMID_FIELD = protobuf.FieldDescriptor();
CONSUMEMATERIAL = protobuf.Descriptor();
CONSUMEMATERIAL_POSITION_FIELD = protobuf.FieldDescriptor();
CONSUMEMATERIAL_HEROIDS_FIELD = protobuf.FieldDescriptor();
@ -421,6 +424,33 @@ UPHEROLEVELRESPONSE.enum_types = {}
UPHEROLEVELRESPONSE.fields = {UPHEROLEVELRESPONSE_HEROID_FIELD, UPHEROLEVELRESPONSE_TARGETLEVEL_FIELD}
UPHEROLEVELRESPONSE.is_extendable = false
UPHEROLEVELRESPONSE.extensions = {}
CONSUMEITEM_TYPE_FIELD.name = "type"
CONSUMEITEM_TYPE_FIELD.full_name = ".rpc.protocols.ConsumeItem.type"
CONSUMEITEM_TYPE_FIELD.number = 1
CONSUMEITEM_TYPE_FIELD.index = 0
CONSUMEITEM_TYPE_FIELD.label = 1
CONSUMEITEM_TYPE_FIELD.has_default_value = false
CONSUMEITEM_TYPE_FIELD.default_value = 0
CONSUMEITEM_TYPE_FIELD.type = 5
CONSUMEITEM_TYPE_FIELD.cpp_type = 1
CONSUMEITEM_ITEMID_FIELD.name = "itemId"
CONSUMEITEM_ITEMID_FIELD.full_name = ".rpc.protocols.ConsumeItem.itemId"
CONSUMEITEM_ITEMID_FIELD.number = 2
CONSUMEITEM_ITEMID_FIELD.index = 1
CONSUMEITEM_ITEMID_FIELD.label = 1
CONSUMEITEM_ITEMID_FIELD.has_default_value = false
CONSUMEITEM_ITEMID_FIELD.default_value = ""
CONSUMEITEM_ITEMID_FIELD.type = 9
CONSUMEITEM_ITEMID_FIELD.cpp_type = 9
CONSUMEITEM.name = "ConsumeItem"
CONSUMEITEM.full_name = ".rpc.protocols.ConsumeItem"
CONSUMEITEM.nested_types = {}
CONSUMEITEM.enum_types = {}
CONSUMEITEM.fields = {CONSUMEITEM_TYPE_FIELD, CONSUMEITEM_ITEMID_FIELD}
CONSUMEITEM.is_extendable = false
CONSUMEITEM.extensions = {}
CONSUMEMATERIAL_POSITION_FIELD.name = "position"
CONSUMEMATERIAL_POSITION_FIELD.full_name = ".rpc.protocols.ConsumeMaterial.position"
CONSUMEMATERIAL_POSITION_FIELD.number = 1
@ -438,8 +468,9 @@ CONSUMEMATERIAL_HEROIDS_FIELD.index = 1
CONSUMEMATERIAL_HEROIDS_FIELD.label = 3
CONSUMEMATERIAL_HEROIDS_FIELD.has_default_value = false
CONSUMEMATERIAL_HEROIDS_FIELD.default_value = {}
CONSUMEMATERIAL_HEROIDS_FIELD.type = 9
CONSUMEMATERIAL_HEROIDS_FIELD.cpp_type = 9
CONSUMEMATERIAL_HEROIDS_FIELD.message_type = CONSUMEITEM
CONSUMEMATERIAL_HEROIDS_FIELD.type = 11
CONSUMEMATERIAL_HEROIDS_FIELD.cpp_type = 10
CONSUMEMATERIAL.name = "ConsumeMaterial"
CONSUMEMATERIAL.full_name = ".rpc.protocols.ConsumeMaterial"
@ -1926,6 +1957,7 @@ ComplexEquipRequest = protobuf.Message(COMPLEXEQUIPREQUEST)
ComplexEquipResponse = protobuf.Message(COMPLEXEQUIPRESPONSE)
ComplexJewelEquipRequest = protobuf.Message(COMPLEXJEWELEQUIPREQUEST)
ComplexJewelEquipResponse = protobuf.Message(COMPLEXJEWELEQUIPRESPONSE)
ConsumeItem = protobuf.Message(CONSUMEITEM)
ConsumeMaterial = protobuf.Message(CONSUMEMATERIAL)
DoHeroChangeRequest = protobuf.Message(DOHEROCHANGEREQUEST)
DoHeroChangeResponse = protobuf.Message(DOHEROCHANGERESPONSE)

View File

@ -360,6 +360,15 @@ function this.SingleItemDataShow(_go, _itemData)
Util.GetGameObject(_go.gameObject,"GameObject/item/circleFrameBg/Icon"):GetComponent("Image").sprite=Util.LoadSprite(_itemData.icon)
Util.GetGameObject(_go.gameObject,"GameObject/item/circleFrameBg/circleFrame"):GetComponent("Image").sprite=Util.LoadSprite(SoulPrintSpriteByQuantity[itemConfig[_itemData.itemConfig.Id].Quantity].circle)
num:SetActive(false)
elseif _itemData.itemConfig.ItemType == ItemType.heroDogFood then
num:SetActive(true)
num:GetComponent("Text").text = _itemData.num
frameMask:GetComponent("Image").sprite = Util.LoadSprite(GetHeroChipQuantityImageByquality(_itemData.itemConfig.Quantity))
local propertyName = itemConfig[_itemData.itemConfig.Id].PropertyName
if (propertyName ~= 0) then
Util.GetGameObject(_go.transform, "GameObject/item/fragmentIcon"):SetActive(true)
Util.GetGameObject(_go.transform, "GameObject/item/fragmentIcon"):GetComponent("Image").sprite = Util.LoadSprite(GetProStrImageByProNum(propertyName))
end
end
end
local redPoint = Util.GetGameObject(_go.gameObject, "GameObject/redPoint")

View File

@ -683,9 +683,8 @@ end
--检测卡库中的英雄是否有满足当前升星条件
function this.GetUpStarHeroListData(heroRankUpGroupId, heroData)
local needHeroListData = {}
needHeroListData.state = 0
--0 没有 1 有满足条件单位英雄
needHeroListData.heroList = {}
needHeroListData = {}
local heroRankUpGroup = heroRankUpGroup[heroRankUpGroupId]
for i, v in pairs(heroDatas) do
if v.dynamicId == heroData.dynamicId then --自己筛掉
@ -698,19 +697,19 @@ function this.GetUpStarHeroListData(heroRankUpGroupId, heroData)
if v.property == heroData.property then
if heroRankUpGroup.IsId > 0 then
if v.id == heroRankUpGroup.IsId then
table.insert(needHeroListData.heroList, v)
table.insert(needHeroListData, v)
end
else
table.insert(needHeroListData.heroList, v)
table.insert(needHeroListData, v)
end
end
else
if heroRankUpGroup.IsId > 0 then
if v.id == heroRankUpGroup.IsId then
table.insert(needHeroListData.heroList, v)
table.insert(needHeroListData, v)
end
else
table.insert(needHeroListData.heroList, v)
table.insert(needHeroListData, v)
end
end
end
@ -721,19 +720,19 @@ function this.GetUpStarHeroListData(heroRankUpGroupId, heroData)
if v.property == heroData.property then
if heroRankUpGroup.IsId > 0 then
if v.id == heroRankUpGroup.IsId then
table.insert(needHeroListData.heroList, v)
table.insert(needHeroListData, v)
end
else
table.insert(needHeroListData.heroList, v)
table.insert(needHeroListData, v)
end
end
else
if heroRankUpGroup.IsId > 0 then
if v.id == heroRankUpGroup.IsId then
table.insert(needHeroListData.heroList, v)
table.insert(needHeroListData, v)
end
else
table.insert(needHeroListData.heroList, v)
table.insert(needHeroListData, v)
end
end
end
@ -741,8 +740,8 @@ function this.GetUpStarHeroListData(heroRankUpGroupId, heroData)
end
end
--删除编队上的英雄
if needHeroListData.heroList and LengthOfTable(needHeroListData.heroList) > 0 then
for i, v in pairs(needHeroListData.heroList) do
if needHeroListData and LengthOfTable(needHeroListData) > 0 then
for i, v in pairs(needHeroListData) do
for n, w in pairs(FormationManager.formationList) do
if this.heroResolveLicence[n] then
for m = 1, #w.teamHeroInfos do
@ -755,31 +754,7 @@ function this.GetUpStarHeroListData(heroRankUpGroupId, heroData)
end
end
end
--删除冒险上的英雄
--if needHeroListData.heroList and LengthOfTable(needHeroListData.heroList)>0 then
-- for i, v in pairs(needHeroListData.heroList) do
-- for n,w in pairs(AdventureManager.heroList) do
-- for m = 1, #w do
-- if v.dynamicId==w[m] then
-- needHeroListData.heroList[i] = nil
-- end
-- end
-- end
-- end
--end
local needHeroListData2 = {}
needHeroListData2.state = 0
--0 没有 1 有满足条件单位英雄
needHeroListData2.heroList = {}
for i, v in pairs(needHeroListData.heroList) do
table.insert(needHeroListData2.heroList, v)
end
if #needHeroListData2.heroList > 0 then
needHeroListData2.state = 1
end
table.sort(
needHeroListData2,
function(a, b)
table.sort(needHeroListData,function(a, b)
if a.id == b.id then
if a.lv == b.lv then
return a.id > b.id
@ -791,6 +766,47 @@ function this.GetUpStarHeroListData(heroRankUpGroupId, heroData)
end
end
)
local canSeleItemIds = {}
--前边以前添加英雄代码不动
if heroRankUpGroup.Items and #heroRankUpGroup.Items > 0 then
for i = 1, #heroRankUpGroup.Items do
local itemId = heroRankUpGroup.Items[i]
LogYellow("itemId "..itemId)
local haveNum = BagManager.GetItemCountById(itemId)
if haveNum > 0 then
for i = 1, haveNum do
local v = {}
v.id = itemId
table.insert(canSeleItemIds,itemId)
end
end
end
end
local needHeroListData2 = {}
needHeroListData2.state = 0
--0 没有 1 有满足条件单位英雄
needHeroListData2.heroList = {}
if #needHeroListData > 0 or #canSeleItemIds > 0 then
needHeroListData2.state = 1
end
--道具靠前
if #canSeleItemIds > 0 then
for i, v in ipairs(canSeleItemIds) do
local vData = {}
vData.id = v
vData.type = RoleUpStarMatType.item--1道具 2 英雄 需要传给后端
vData.index = i--用于祭品选择界面 查看是否选中
table.insert(needHeroListData2.heroList, vData)
end
end
--英雄靠后
if #needHeroListData > 0 then
for i, v in ipairs(needHeroListData) do
v.type = RoleUpStarMatType.hero--1道具 2 英雄 需要传给后端
table.insert(needHeroListData2.heroList, v)
end
end
return needHeroListData2
end
--计算每个星级的英雄等级最终上限

View File

@ -744,7 +744,14 @@ function this.HeroUpStarEvent(heroId, consumeMaterials, func)
local c = data.consumeMaterials:add()
c.position = i
for j = 1, #consumeMaterials[i] do
c.heroIds:append(consumeMaterials[i][j])
local e = c.heroIds:add()
e.type = consumeMaterials[i][j].type
if consumeMaterials[i][j].type == RoleUpStarMatType.hero then
e.itemId = consumeMaterials[i][j].dynamicId
elseif consumeMaterials[i][j].type == RoleUpStarMatType.item then
e.itemId = tostring(consumeMaterials[i][j].id)
end
-- c.heroIds:append(consumeMaterials[i][j])
end
end
--for j = 1, #data.ConsumeMaterial do

View File

@ -238,7 +238,6 @@ end
--界面打开时调用(用于子类重写)
function RewardItemSingleShowPopup:OnOpen(...)
isBagPanel = BagManager.isBagPanel
itemNu = 0
local data = { ... }
@ -302,6 +301,13 @@ function RewardItemSingleShowPopup:OnShow()
this.fragmentIcon:GetComponent("Image").sprite = Util.LoadSprite(GetProStrImageByProNum(propertyName))
end
end
if itemConfigData.ItemType == ItemType.heroDogFood then
local propertyName=itemConfig[itemConfigData.Id].PropertyName
if(propertyName~=0) then
this.fragmentIcon:SetActive(true)
this.fragmentIcon:GetComponent("Image").sprite = Util.LoadSprite(GetProStrImageByProNum(propertyName))
end
end
if itemConfigData.ItemType == 9 then
if itemConfigData.RingLevel > 0 then
this.innateImage:SetActive(true)

View File

@ -253,7 +253,7 @@ function this.AutoSelectUpStarHeroList(_curUpStarData)
and curHeroData.heroConfig.Qualiy ~= 3) then
if LengthOfTable(upStarHeroListData.heroList) >= curUpStarData[i].upStarData[4] then
for i = 1, curUpStarData[i].upStarData[4] do
if upStarHeroListData.heroList[i].lockState == 0 and upStarHeroListData.heroList[i].isFormation == "" then
if upStarHeroListData.heroList[i].type == RoleUpStarMatType.item or upStarHeroListData.heroList[i].type == RoleUpStarMatType.hero and upStarHeroListData.heroList[i].lockState == 0 and upStarHeroListData.heroList[i].isFormation == "" then
table.insert(curSelectHeroList,upStarHeroListData.heroList[i])
end
end
@ -286,17 +286,9 @@ function this.UpdateUpStarPosHeroData(curSelectHeroList)
end
local curUpStarConsumeMaterial={}
for i, v in pairs(curSelectHeroList) do
table.insert(curUpStarConsumeMaterial,v.dynamicId)
table.insert(curUpStarConsumeMaterial,v)
end
upStarConsumeMaterial[curSelectUpStarData.upStarData[2]]=curUpStarConsumeMaterial
-- for i = 1, #upStarConsumeMaterial do
-- Log("选择升星位置的英雄数量 "..#upStarConsumeMaterial[i])
-- if #upStarConsumeMaterial[i]>0 then
-- for j = 1, #upStarConsumeMaterial[i] do
-- Log("选择升星位置的英雄都有谁 "..upStarConsumeMaterial[i][j])
-- end
-- end
-- end
end
--分析设置升星界面显示的英雄list数据 如果当前升星材料的坑位的英雄数据与 以其他坑位有重合并且选择上的英雄不显示 如果是当前坑位显示的英雄显示对勾
function this.SetShowHeroListData(upStarConsumeMaterial,curHeroList)--1 消耗的总消耗组 2 当前坑位可选择的所有英雄
@ -315,13 +307,17 @@ function this.SetShowHeroListData(upStarConsumeMaterial,curHeroList)--1 消耗
for k = 1, #upStarConsumeMaterial[j] do
if j==curSelectUpStarData.upStarData[2] then--curSelectUpStarData 当前坑位选择的英雄信息
for _, v in pairs(curEndShowHeroListData) do
if v.dynamicId==upStarConsumeMaterial[j][k] then
if v.type == RoleUpStarMatType.hero and v.dynamicId==upStarConsumeMaterial[j][k].dynamicId then
v.isSelect=1
elseif v.type == RoleUpStarMatType.item and v.index==upStarConsumeMaterial[j][k].index then
v.isSelect=1
end
end
else
for i, v in pairs(curEndShowHeroListData) do
if v.dynamicId==upStarConsumeMaterial[j][k] then
if v.type == RoleUpStarMatType.hero and v.dynamicId==upStarConsumeMaterial[j][k].dynamicId then
curEndShowHeroListData[i] = nil
elseif v.type == RoleUpStarMatType.item and v.index==upStarConsumeMaterial[j][k].index then
curEndShowHeroListData[i] = nil
end
end
@ -382,20 +378,16 @@ function this.DeleteUpStarMaterials()
end
end
--本地数据删除材料英雄
-- for i = 1, #upStarConsumeMaterial do
-- Log("选择升星位置的英雄数量 "..#upStarConsumeMaterial[i])
-- if #upStarConsumeMaterial[i]>0 then
-- for j = 1, #upStarConsumeMaterial[i] do
-- Log("选择升星位置的英雄都有谁 "..upStarConsumeMaterial[i][j])
-- end
-- end
-- end
local curDelHeroDids = {}
for i = 1, #upStarConsumeMaterial do
HeroManager.DeleteHeroDatas(upStarConsumeMaterial[i])
for j = 1, #upStarConsumeMaterial[i] do
if upStarConsumeMaterial[i][j].type == RoleUpStarMatType.hero then
table.insert(curDelHeroDids,upStarConsumeMaterial[i][j].dynamicId)
end
end
end
if curDelHeroDids and #curDelHeroDids > 0 then
HeroManager.DeleteHeroDatas(curDelHeroDids)
end
if HeroManager.heroListPanelProID ~= ProIdConst.All then
heroDatas = HeroManager.GetHeroDataByProperty(HeroManager.heroListPanelProID)

View File

@ -302,7 +302,7 @@ function RoleUpStarLayout:AutoSelectUpStarHeroList(_curUpStarData)
and curHeroData.heroConfig.Qualiy ~= 3) then
if LengthOfTable(upStarHeroListData.heroList) >= curUpStarData[i].upStarData[4] then
for i = 1, curUpStarData[i].upStarData[4] do
if upStarHeroListData.heroList[i].lockState == 0 and upStarHeroListData.heroList[i].isFormation == ""
if upStarHeroListData.heroList[i].type == RoleUpStarMatType.item or upStarHeroListData.heroList[i].type == RoleUpStarMatType.hero and upStarHeroListData.heroList[i].lockState == 0 and upStarHeroListData.heroList[i].isFormation == ""
and (not HarmonyManager.IsChangeColor(upStarHeroListData.heroList[i].dynamicId)) and (not HarmonyManager:IsEnvoy(upStarHeroListData.heroList[i].dynamicId)) then
table.insert(curSelectHeroList,upStarHeroListData.heroList[i])
end
@ -336,17 +336,9 @@ function RoleUpStarLayout:UpdateUpStarPosHeroData(curSelectHeroList)
end
local curUpStarConsumeMaterial={}
for i, v in pairs(curSelectHeroList) do
table.insert(curUpStarConsumeMaterial,v.dynamicId)
table.insert(curUpStarConsumeMaterial,v)
end
upStarConsumeMaterial[curSelectUpStarData.upStarData[2]]=curUpStarConsumeMaterial
for i = 1, #upStarConsumeMaterial do
--Log("选择升星位置的英雄数量 "..#upStarConsumeMaterial[i])
if #upStarConsumeMaterial[i]>0 then
for j = 1, #upStarConsumeMaterial[i] do
--Log("选择升星位置的英雄都有谁 "..upStarConsumeMaterial[i][j])
end
end
end
end
--分析设置升星界面显示的英雄list数据 如果当前升星材料的坑位的英雄数据与 以其他坑位有重合并且选择上的英雄不显示 如果是当前坑位显示的英雄显示对勾
function RoleUpStarLayout:SetShowHeroListData(upStarConsumeMaterial,curHeroList)--1 消耗的总消耗组 2 当前坑位可选择的所有英雄
@ -365,13 +357,17 @@ function RoleUpStarLayout:SetShowHeroListData(upStarConsumeMaterial,curHeroList)
for k = 1, #upStarConsumeMaterial[j] do
if j==curSelectUpStarData.upStarData[2] then--curSelectUpStarData 当前坑位选择的英雄信息
for _, v in pairs(curEndShowHeroListData) do
if v.dynamicId==upStarConsumeMaterial[j][k] then
if v.type == RoleUpStarMatType.hero and v.dynamicId==upStarConsumeMaterial[j][k].dynamicId then
v.isSelect=1
elseif v.type == RoleUpStarMatType.item and v.index==upStarConsumeMaterial[j][k].index then
v.isSelect=1
end
end
else
for i, v in pairs(curEndShowHeroListData) do
if v.dynamicId==upStarConsumeMaterial[j][k] then
if v.type == RoleUpStarMatType.hero and v.dynamicId==upStarConsumeMaterial[j][k].dynamicId then
curEndShowHeroListData[i] = nil
elseif v.type == RoleUpStarMatType.item and v.index==upStarConsumeMaterial[j][k].index then
curEndShowHeroListData[i] = nil
end
end
@ -446,8 +442,16 @@ function RoleUpStarLayout:DeleteUpStarMaterials()
end
end
--本地数据删除材料英雄
local curDelHeroDids = {}
for i = 1, #upStarConsumeMaterial do
HeroManager.DeleteHeroDatas(upStarConsumeMaterial[i])
for j = 1, #upStarConsumeMaterial[i] do
if upStarConsumeMaterial[i][j].type == RoleUpStarMatType.hero then
table.insert(curDelHeroDids,upStarConsumeMaterial[i][j].dynamicId)
end
end
end
if curDelHeroDids and #curDelHeroDids > 0 then
HeroManager.DeleteHeroDatas(curDelHeroDids)
end
if HeroManager.heroListPanelProID ~= ProIdConst.All then
heroDatas = HeroManager.GetHeroDataByProperty(HeroManager.heroListPanelProID)

View File

@ -42,9 +42,6 @@ function RoleUpStarListPanel:BindEvent()
Util.AddClick(this.BtnSure, function()
self:ClosePanel()
Log("curSelectHeroList "..LengthOfTable(curSelectHeroList))
for i, v in pairs(curSelectHeroList) do
LogPink("v.dynamicId "..v.dynamicId)
end
openThisPanel:UpdateUpStarPosHeroData(curSelectHeroList)
end)
Util.AddClick(this.btnAutoSelect, function()
@ -68,7 +65,8 @@ function RoleUpStarListPanel:OnOpen(heroData,HeroRankupGroupData,RankupConsumeMa
curSelectHeroList={}
print(#_curSelectHeroList)
for i = 1, #_curSelectHeroList do
curSelectHeroList[_curSelectHeroList[i]]=_curSelectHeroList[i]
-- curSelectHeroList[_curSelectHeroList[i]]=_curSelectHeroList[i]
table.insert(curSelectHeroList,_curSelectHeroList[i])
end
curHeroData = _curHeroData
@ -80,7 +78,7 @@ function RoleUpStarListPanel:OnOpen(heroData,HeroRankupGroupData,RankupConsumeMa
for n,w in pairs(FormationManager.formationList) do
if HeroManager.heroResolveLicence[n] then
for m = 1, #w.teamHeroInfos do
if v.dynamicId==w.teamHeroInfos[m].heroId then
if v.type == RoleUpStarMatType.hero and v.dynamicId==w.teamHeroInfos[m].heroId then
local isFormationStr = HeroManager.GetHeroFormationStr2(n)
if isFormationStr ~= "" then
if not text or text == "" then
@ -139,7 +137,7 @@ function this.OnClickEnterHero(go,heroData,type)
end
elseif type==2 then
for i = 1, #curSelectHeroList do
if heroData.dynamicId==curSelectHeroList[i].dynamicId then
if heroData.type == RoleUpStarMatType.hero and heroData.dynamicId==curSelectHeroList[i].dynamicId then
table.remove(curSelectHeroList,i)
break
end
@ -152,49 +150,134 @@ end
function this.OnShowSingleCardData(go,heroData)--isSelect 1选择 2 没选择
local choosed = Util.GetGameObject(go.transform, "choosed")
choosed:SetActive(false)
if curSelectHeroList[heroData.dynamicId] then
curSelectHeroList[heroData.dynamicId]=heroData
choosed:SetActive(true)
end
Util.GetGameObject(go.transform, "frame"):GetComponent("Image").sprite = Util.LoadSprite(GetHeroQuantityImageByquality(heroData.heroConfig.Quality,heroData.star))
Util.GetGameObject(go.transform, "lv/Text"):GetComponent("Text").text = heroData.lv
Util.GetGameObject(go.transform, "icon"):GetComponent("Image").sprite = Util.LoadSprite(heroData.icon)
Util.GetGameObject(go.transform, "posIcon"):SetActive(false)--:GetComponent("Image").sprite = Util.LoadSprite(heroData.professionIcon)
Util.GetGameObject(go.transform, "proIcon"):GetComponent("Image").sprite = Util.LoadSprite(GetProStrImageByProNum(heroData.heroConfig.PropertyName))
--Util.GetGameObject(go.transform, "heroStage"):GetComponent("Image").sprite = Util.LoadSprite(HeroStageSprite[heroData.heroConfig.HeroStage])
local formationMask = Util.GetGameObject(go.transform, "formationMask")
--LogError("heroData.isFormation "..heroData.isFormation)
formationMask:SetActive((heroData.isFormation ~= "" and heroData.isFormation ~= Language[10410]) or heroData.lockState == 1)
Util.GetGameObject(formationMask.transform, "formationImage"):SetActive(heroData.isFormation ~= "" )
Util.GetGameObject(formationMask.transform, "lockImage"):SetActive( heroData.lockState == 1)
Util.GetGameObject(go.transform, "noumenon"):SetActive( heroData.id == curHeroData.id )
Util.GetGameObject(go.transform, "name"):GetComponent("Text").text = SubString2(GetLanguageStrById(heroData.heroConfig.ReadingName),8)
local starGrid = Util.GetGameObject(go.transform, "star")
SetHeroStars(starGrid, heroData.star,1,nil,nil,Vector2.New(0,1))
local cardBtn = Util.GetGameObject(go.transform, "icon")
local GongMingMask = Util.GetGameObject(go.transform, "GongMingMask")
GongMingMask:SetActive(false)--最后检测是否共鸣
if heroData.lockState == 1 or (heroData.isFormation ~= "" and heroData.isFormation ~= Language[10410]) then
else
if HarmonyManager.IsChangeColor(heroData.dynamicId) then
Util.GetGameObject(go.transform, "lv/Text"):GetComponent("Text").text = "<color=#0f0>"..heroData.lv.."</color>"
GongMingMask:SetActive(true)
elseif HarmonyManager:IsEnvoy(heroData.dynamicId) and HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv) then
if HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv).heroTid == 0 then
-- body
Util.GetGameObject(go.transform, "lv/Text"):GetComponent("Text").text = "<color=#ffbe22>"..heroData.lv.."</color>"
GongMingMask:SetActive(true)
-- if curSelectHeroList[heroData.dynamicId] then
-- curSelectHeroList[heroData.dynamicId]=heroData
-- choosed:SetActive(true)
-- end
for i = 1, #curSelectHeroList do
if curSelectHeroList[i].type == RoleUpStarMatType.hero then
if curSelectHeroList[i].dynamicId == heroData.dynamicId then
choosed:SetActive(true)
end
elseif curSelectHeroList[i].type == RoleUpStarMatType.item then
if curSelectHeroList[i].id == heroData.id and curSelectHeroList[i].index == heroData.index then
choosed:SetActive(true)
end
end
end
Util.AddOnceClick(GongMingMask, function()
PopupTipPanel.ShowTip(Language[12184])
end)
Util.AddOnceClick(cardBtn, function()
if curSelectHeroList[heroData.dynamicId] then
Util.GetGameObject(go.transform, "posIcon"):SetActive(false)--:GetComponent("Image").sprite = Util.LoadSprite(heroData.professionIcon)
local frame = Util.GetGameObject(go.transform, "frame"):GetComponent("Image")
local lvGo = Util.GetGameObject(go.transform, "lv")
local icon = Util.GetGameObject(go.transform, "icon"):GetComponent("Image")
local proIcon = Util.GetGameObject(go.transform, "proIcon")
local name = Util.GetGameObject(go.transform, "name"):GetComponent("Text")
local formationMask = Util.GetGameObject(go.transform, "formationMask")
local formationImage = Util.GetGameObject(formationMask.transform, "formationImage")
local lockImage = Util.GetGameObject(formationMask.transform, "lockImage")
local noumenon = Util.GetGameObject(go, "noumenon")
local starGrid = Util.GetGameObject(go.transform, "star")
local cardBtn = Util.GetGameObject(go.transform, "icon")
local GongMingMask = Util.GetGameObject(go.transform, "GongMingMask")
LogYellow("heroData.type "..heroData.type)
if heroData.type == RoleUpStarMatType.hero then
frame.sprite = Util.LoadSprite(GetHeroQuantityImageByquality(heroData.heroConfig.Quality,heroData.star))
lvGo:SetActive(true)
Util.GetGameObject(lvGo.transform, "Text"):GetComponent("Text").text = heroData.lv
icon.sprite = Util.LoadSprite(heroData.icon)
proIcon:GetComponent("Image").sprite = Util.LoadSprite(GetProStrImageByProNum(heroData.heroConfig.PropertyName))
formationMask:SetActive((heroData.isFormation ~= "" and heroData.isFormation ~= Language[10410]) or heroData.lockState == 1)
formationImage:SetActive(heroData.isFormation ~= "" )
lockImage:SetActive( heroData.lockState == 1)
noumenon:SetActive( heroData.id == curHeroData.id )
name.text = SubString2(GetLanguageStrById(heroData.heroConfig.ReadingName),8)
SetHeroStars(starGrid, heroData.star,1,nil,nil,Vector2.New(0,1))
GongMingMask:SetActive(false)--最后检测是否共鸣
if heroData.lockState == 1 or (heroData.isFormation ~= "" and heroData.isFormation ~= Language[10410]) then
else
if HarmonyManager.IsChangeColor(heroData.dynamicId) then
Util.GetGameObject(go.transform, "lv/Text"):GetComponent("Text").text = "<color=#0f0>"..heroData.lv.."</color>"
GongMingMask:SetActive(true)
elseif HarmonyManager:IsEnvoy(heroData.dynamicId) and HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv) then
if HarmonyManager.GetSingleAdditionsData(HarmonyAddType.AddLv).heroTid == 0 then
-- body
Util.GetGameObject(go.transform, "lv/Text"):GetComponent("Text").text = "<color=#ffbe22>"..heroData.lv.."</color>"
GongMingMask:SetActive(true)
end
end
end
Util.AddOnceClick(GongMingMask, function()
PopupTipPanel.ShowTip(Language[12184])
end)
Util.AddOnceClick(cardBtn, function()
local isSelect = false
local selectIndex = 0
for i = 1, #curSelectHeroList do
if curSelectHeroList[i].type == RoleUpStarMatType.hero then
if curSelectHeroList[i].dynamicId == heroData.dynamicId then
isSelect = true
selectIndex = i
end
end
end
if isSelect then
choosed:SetActive(false)
-- curSelectHeroList[heroData.dynamicId]=nil
table.remove(curSelectHeroList,selectIndex)
this.numText.text=string.format("%s/%s",LengthOfTable(curSelectHeroList),curNeedRoleNum)
return
end
if LengthOfTable(curSelectHeroList)>=curNeedRoleNum then
PopupTipPanel.ShowTip(Language[10403])
return
end
-- curSelectHeroList[heroData.dynamicId]=heroData
table.insert(curSelectHeroList,heroData)
choosed:SetActive(true)
this.numText.text=string.format("%s/%s",LengthOfTable(curSelectHeroList),curNeedRoleNum)
end)
Util.AddOnceClick(formationMask, function()
if heroData.isFormation ~= "" then
PopupTipPanel.ShowTip( heroData.isFormation)
return
end
if heroData.lockState == 1 then
PopupTipPanel.ShowTip(Language[10413])
return
end
end)
elseif heroData.type == RoleUpStarMatType.item then
LogYellow("heroData.id "..heroData.id)
local itemConfig = ConfigManager.TryGetConfigData(ConfigName.ItemConfig,heroData.id)
if not itemConfig then return end
frame.sprite = Util.LoadSprite(GetHeroQuantityImageByquality(itemConfig.Quantity,itemConfig.HeroStar[1]))
lvGo:SetActive(false)
icon.sprite = Util.LoadSprite(GetResourcePath(itemConfig.ResourceID))
proIcon:GetComponent("Image").sprite = Util.LoadSprite(GetProStrImageByProNum(itemConfig.PropertyName))
formationMask:SetActive(false)
formationImage:SetActive(false)
lockImage:SetActive(false)
noumenon:SetActive(false)
GongMingMask:SetActive(false)
name.text = SubString2(GetLanguageStrById(itemConfig.Name),8)
SetHeroStars(starGrid, itemConfig.HeroStar[1] or 6,1,nil,nil,Vector2.New(0,1))
Util.AddOnceClick(cardBtn, function()
local isSelect = false
local selectIndex = 0
for i = 1, #curSelectHeroList do
if curSelectHeroList[i].type == RoleUpStarMatType.item then
if curSelectHeroList[i].id == heroData.id and curSelectHeroList[i].index == heroData.index then
isSelect = true
selectIndex = i
choosed:SetActive(true)
end
end
end
if isSelect then
choosed:SetActive(false)
curSelectHeroList[heroData.dynamicId]=nil
-- curSelectHeroList[heroData.dynamicId]=nil
table.remove(curSelectHeroList,selectIndex)
this.numText.text=string.format("%s/%s",LengthOfTable(curSelectHeroList),curNeedRoleNum)
return
end
@ -202,55 +285,53 @@ function this.OnShowSingleCardData(go,heroData)--isSelect 1选择 2 没选择
PopupTipPanel.ShowTip(Language[10403])
return
end
curSelectHeroList[heroData.dynamicId]=heroData
-- curSelectHeroList[heroData.dynamicId]=heroData
table.insert(curSelectHeroList,heroData)
choosed:SetActive(true)
this.numText.text=string.format("%s/%s",LengthOfTable(curSelectHeroList),curNeedRoleNum)
end)
Util.AddOnceClick(formationMask, function()
if heroData.isFormation ~= "" then
PopupTipPanel.ShowTip( heroData.isFormation)
return
end
if heroData.lockState == 1 then
PopupTipPanel.ShowTip(Language[10413])
return
end
end)
end)
end
end
function this.HeroSortData(heroData)
Log("#heroData "..#heroData)
--"该神将在大闹天宫阵容中已上阵"
table.sort(heroData, function(a, b)
if (a.isFormation == "" or (a.isFormation ~= "" and a.isFormation == Language[10410])) and (b.isFormation == "" or (b.isFormation ~= "" and b.isFormation == Language[10410]))
or (a.isFormation ~= "" and a.isFormation ~= Language[10410]) and (b.isFormation ~= "" and b.isFormation ~= Language[10410]) then
if a.lockState == b.lockState then
if a.heroConfig.Star == b.heroConfig.Star then
if a.lv == b.lv then
if a.id ~= curHeroData.id and b.id ~= curHeroData.id or a.id == curHeroData.id and b.id == curHeroData.id then
return a.id > b.id
if a.type == b.type and a.type == RoleUpStarMatType.hero and b.type == RoleUpStarMatType.hero then
if (a.isFormation == "" or (a.isFormation ~= "" and a.isFormation == Language[10410])) and (b.isFormation == "" or (b.isFormation ~= "" and b.isFormation == Language[10410]))
or (a.isFormation ~= "" and a.isFormation ~= Language[10410]) and (b.isFormation ~= "" and b.isFormation ~= Language[10410]) then
if a.lockState == b.lockState then
if a.heroConfig.Star == b.heroConfig.Star then
if a.lv == b.lv then
if a.id ~= curHeroData.id and b.id ~= curHeroData.id or a.id == curHeroData.id and b.id == curHeroData.id then
return a.id > b.id
else
return not a.id ~= curHeroData.id and b.id == curHeroData.id
end
else
return not a.id ~= curHeroData.id and b.id == curHeroData.id
return a.lv < b.lv
end
else
return a.lv < b.lv
return a.heroConfig.Star < b.heroConfig.Star
end
else
return a.heroConfig.Star < b.heroConfig.Star
return a.lockState < b.lockState
end
else
return a.lockState < b.lockState
return (a.isFormation == "" or (a.isFormation ~= "" and a.isFormation == Language[10410])) and (not b.dynamicId ~= "" and b.isFormation ~= Language[10410])
end
else
return (a.isFormation == "" or (a.isFormation ~= "" and a.isFormation == Language[10410])) and (not b.dynamicId ~= "" and b.isFormation ~= Language[10410])
return a.type > b.type
end
end)
end
function RoleUpStarListPanel:AutoSelectHero()
curSelectHeroList = {}
for i = 1, #heroDataList do
if LengthOfTable(curSelectHeroList) < curNeedRoleNum and heroDataList[i].isFormation == "" and heroDataList[i].lockState == 0 and (not HarmonyManager.IsChangeColor(heroDataList[i].dynamicId) and(not HarmonyManager:IsEnvoy(heroDataList[i].dynamicId))) then
curSelectHeroList[heroDataList[i].dynamicId]=heroDataList[i]
if heroDataList[i].type == RoleUpStarMatType.item and LengthOfTable(curSelectHeroList) < curNeedRoleNum or heroDataList[i].type == RoleUpStarMatType.hero and LengthOfTable(curSelectHeroList) < curNeedRoleNum
and heroDataList[i].isFormation == "" and heroDataList[i].lockState == 0 and (not HarmonyManager.IsChangeColor(heroDataList[i].dynamicId) and(not HarmonyManager:IsEnvoy(heroDataList[i].dynamicId))) then
-- curSelectHeroList[heroDataList[i].dynamicId]=heroDataList[i]
table.insert(curSelectHeroList,heroDataList[i])
end
end
this.numText.text=string.format("%s/%s",LengthOfTable(curSelectHeroList),curNeedRoleNum)

View File

@ -234,6 +234,17 @@ function ItemView:GetRewardShow(_itemData, effectLayer)
--所有的魂印打开都用这个界面
UIManager.OpenPanel(UIName.SoulPrintPopUp, ShowType.showTip3, nil,_itemData.backData.itemId)
end)
elseif _itemData.configData.ItemType == ItemType.heroDogFood then --狗粮
--狗粮
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, _itemData.backData.itemId,nil,self.isRewardItemPop)
end)
self.heroShowGo:SetActive(true)
local propertyName=itemConfig[_itemData.backData.itemId].PropertyName
if(propertyName~=0) then
self.fragmentIcon:SetActive(true)
self.fragmentIcon:GetComponent("Image").sprite = Util.LoadSprite(GetProStrImageByProNum(propertyName))
end
else
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, _itemData.backData.itemId,nil,self.isRewardItemPop)
@ -328,11 +339,7 @@ function ItemView:GetRewardShow(_itemData, effectLayer)
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, _itemData.backData.itemId,nil,self.isRewardItemPop)
end)
elseif _itemData.itemType == ItemType.LingShou then
Util.AddOnceClick(self.frameBtn, function()
local pokemonData={tempId=_itemData.configData.Id,id=_itemData.configData.Id,star=0,level=1}
UIManager.OpenPanel(UIName.PokemonGetInfoPopup, true,pokemonData)
end)
elseif _itemData.itemType == ItemType.LingShou then
end
self.gameObject:GetComponent("RectTransform").localScale = Vector2.New(self.scale, self.scale)
end
@ -570,6 +577,18 @@ function ItemView:NoGetRewardShow(_reward, effectLayer, isShowAddImage)
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardBoxPanel,nil,itemSId)
end)
elseif itemDataConFig.ItemType == ItemType.heroDogFood then
--狗粮
self.frame.sprite = Util.LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = Util.LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
local propertyName=itemConfig[itemSId].PropertyName
if(propertyName~=0) then
self.fragmentIcon:SetActive(true)
self.fragmentIcon:GetComponent("Image").sprite = Util.LoadSprite(GetProStrImageByProNum(propertyName))
end
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId,nil,self.isRewardItemPop)
end)
else
--5随机道具6符文
self.frame.sprite = Util.LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))