555 lines
26 KiB
Lua
555 lines
26 KiB
Lua
require("Base/BasePanel")
|
|
TrainingItemListPanel = Inherit(BasePanel)
|
|
local this = TrainingItemListPanel
|
|
local curSelectItemOrHeroList = {}
|
|
local heroOrItemDataList = {}
|
|
local curNeedRoleNum = 1
|
|
local openThisPanel
|
|
local curData = {}
|
|
local openType = 0
|
|
local currentSelectItems = {}
|
|
local currentSelectItem = {}
|
|
local curSelectGO
|
|
local sendFunc = nil
|
|
local openPanel = nil
|
|
--初始化组件(用于子类重写)
|
|
function TrainingItemListPanel:InitComponent()
|
|
this.spLoader = SpriteLoader.New()
|
|
curSelectGO = nil
|
|
this.BtnBack = Util.GetGameObject(self.gameObject, "btnBack")
|
|
this.mask = Util.GetGameObject(self.gameObject, "mask")
|
|
this.BtnSure = Util.GetGameObject(self.gameObject, "btnSure")
|
|
this.BtnSure:SetActive(true)
|
|
|
|
this.btnAutoSelect = Util.GetGameObject(self.gameObject, "btnAutoSelect")
|
|
this.cardPre = Util.GetGameObject(self.gameObject, "item")
|
|
--this.grid = Util.GetGameObject(self.gameObject, "scroll/grid")
|
|
local v = Util.GetGameObject(self.gameObject, "scroll"):GetComponent("RectTransform").rect
|
|
--LogGreen("v.width:".. v.width.." v.height:"..v.height)
|
|
this.Scrollbar = Util.GetGameObject(self.gameObject, "Scrollbar"):GetComponent("Scrollbar")
|
|
this.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView,
|
|
Util.GetGameObject(self.gameObject, "scroll").transform,
|
|
this.cardPre, this.Scrollbar, Vector2.New(v.width, v.height), 1, 5, Vector2.New(19.32, 40))
|
|
this.ScrollView.gameObject:GetComponent("RectTransform").anchoredPosition = Vector2.New(6.78, 27)
|
|
this.ScrollView.gameObject:GetComponent("RectTransform").anchorMin = Vector2.New(0.5, 0.5)
|
|
this.ScrollView.gameObject:GetComponent("RectTransform").anchorMax = Vector2.New(0.5, 0.5)
|
|
this.ScrollView.moveTween.MomentumAmount = 1
|
|
this.ScrollView.moveTween.Strength = 1
|
|
|
|
this.NoneImage = Util.GetGameObject(self.gameObject, "NoneImage")
|
|
this.NoneImage.gameObject:SetActive(false)
|
|
end
|
|
|
|
--绑定事件(用于子类重写)
|
|
function TrainingItemListPanel:BindEvent()
|
|
Util.AddClick(this.BtnBack, function()
|
|
PlaySoundWithoutClick(SoundConfig.Sound_UICancel)
|
|
self:ClosePanel()
|
|
end)
|
|
Util.AddClick(this.mask, function()
|
|
PlaySoundWithoutClick(SoundConfig.Sound_UICancel)
|
|
self:ClosePanel()
|
|
end)
|
|
Util.AddClick(this.BtnSure, function()
|
|
if sendFunc then
|
|
sendFunc(currentSelectItems, curSelectItemOrHeroList)
|
|
-- openPanel:UpdateUpStarPosHeroData(cu)
|
|
self:ClosePanel()
|
|
end
|
|
end)
|
|
-- Util.AddClick(this.btnAutoSelect, function()
|
|
-- self:AutoSelectHero()
|
|
-- end)
|
|
end
|
|
|
|
--添加事件监听(用于子类重写)
|
|
function TrainingItemListPanel:AddListener()
|
|
|
|
end
|
|
|
|
--移除事件监听(用于子类重写)
|
|
function TrainingItemListPanel:RemoveListener()
|
|
|
|
end
|
|
|
|
--界面打开时调用(用于子类重写)
|
|
function TrainingItemListPanel:OnOpen(_curData, _func, NeedNum, selectItems1, selectItems2, _openPanel)
|
|
sendFunc = _func
|
|
openPanel = _openPanel
|
|
curSelectItemOrHeroList = {}
|
|
currentSelectItems = {}
|
|
curNeedRoleNum = NeedNum
|
|
heroOrItemDataList = {}
|
|
for i = 1, #selectItems1 do
|
|
-- curSelectHeroList[_curSelectHeroList[i]]=_curSelectHeroList[i]
|
|
table.insert(currentSelectItems, selectItems1[i])
|
|
end
|
|
for i = 1, #selectItems2 do
|
|
-- curSelectHeroList[_curSelectHeroList[i]]=_curSelectHeroList[i]
|
|
table.insert(curSelectItemOrHeroList, selectItems2[i])
|
|
end
|
|
-- print(#_curSelectHeroList)
|
|
-- for i = 1, #_curSelectHeroList do
|
|
-- -- curSelectHeroList[_curSelectHeroList[i]]=_curSelectHeroList[i]
|
|
-- table.insert(curSelectHeroList,_curSelectHeroList[i])
|
|
-- end
|
|
curData = _curData
|
|
-- heroDataList = heroData
|
|
if _curData.type == 1 then
|
|
local itemDatas = BagManager.GetBagItemDataByItemTypeV3(_curData.data[2], _curData.data[1], _curData.data[3])
|
|
local index = 0
|
|
for i = 1, #itemDatas do
|
|
local haveNum = BagManager.GetItemCountById(itemDatas[i].id)
|
|
if haveNum > 0 then
|
|
for j = 1 + index, haveNum + index do
|
|
local v = {}
|
|
v.id = itemDatas[i].id
|
|
v.itemData = itemDatas[i]
|
|
v.index = j --用于祭品选择界面 查看是否选中
|
|
table.insert(heroOrItemDataList, v)
|
|
end
|
|
end
|
|
index = haveNum
|
|
-- heroOrItemDataList[i]=itemDatas[i]
|
|
end
|
|
elseif _curData.type == 3 then
|
|
local pokemonList = PokemonManager.GetNoUpFigthPokemonDatas()
|
|
local index = 0
|
|
for i = 1, #pokemonList do
|
|
local v = {}
|
|
v.dynamicId = pokemonList[i].dynamicId
|
|
v.pokemonData = pokemonList[i]
|
|
v.type = 3
|
|
v.index = i --用于祭品选择界面 查看是否选中
|
|
v.star = v.star
|
|
v.lv = v.lv
|
|
local config = pokemonList[i].config
|
|
v.ischip = 0
|
|
v.icon = GetResourcePath(config.Icon)
|
|
v.id = v.id
|
|
v.quality = config.Quality
|
|
v.name = config.Name
|
|
v.returnCoin = config.CoinReturn
|
|
v.frame = GetHeroQuantityImageByquality(config.Quality)
|
|
v.num = 1
|
|
--LogError("v.quality==================="..v.quality)
|
|
--LogError("curdata.qua=================="..curData.qua)
|
|
if curData.qua == v.quality then
|
|
table.insert(heroOrItemDataList, v)
|
|
end
|
|
-- heroOrItemDataList[i]=itemDatas[i]
|
|
end
|
|
elseif _curData.type == 4 then
|
|
local pokemonList = GodWeaponManager.GetNoUpZhenWeapons()
|
|
local index = 0
|
|
for i = 1, #pokemonList do
|
|
local v = {}
|
|
v.dynamicId = pokemonList[i].dynamicId
|
|
v.pokemonData = pokemonList[i]
|
|
v.type = 4
|
|
v.index = i --用于祭品选择界面 查看是否选中
|
|
v.star = pokemonList[i].star
|
|
v.lv = pokemonList[i].lv
|
|
local config = pokemonList[i].config
|
|
v.ischip = 0
|
|
v.icon = GetResourcePath(config.Icon)
|
|
--LogError("v.id========================================="..v.id)
|
|
v.id = pokemonList[i].id
|
|
v.quality = config.Quality
|
|
v.name = config.Name
|
|
v.returnCoin = config.CoinReturn
|
|
v.frame = GetHeroQuantityImageByquality(config.Quality)
|
|
v.num = 1
|
|
table.insert(heroOrItemDataList, v)
|
|
end
|
|
else
|
|
local titemDatas = {}
|
|
if _curData.NeedHeroOther ~= 0 then
|
|
local itemId = _curData.NeedHeroOther
|
|
local haveNum = BagManager.GetItemCountById(itemId)
|
|
if haveNum > 0 then
|
|
for i = 1, haveNum do
|
|
local v = {}
|
|
v.id = itemId
|
|
v.type = 2 --1道具 2 英雄 需要传给后端
|
|
v.index = i --用于祭品选择界面 查看是否选中
|
|
table.insert(titemDatas, v)
|
|
end
|
|
end
|
|
end
|
|
if #titemDatas > 0 then
|
|
local HeroDatas = HeroManager.GetAllNumStarData(curData.heroGroupData[1])
|
|
for i = 1, #titemDatas do
|
|
heroOrItemDataList[i] = titemDatas[i]
|
|
end
|
|
local index = #titemDatas
|
|
for i = 1 + index, #HeroDatas + index do
|
|
heroOrItemDataList[i] = HeroDatas[i - index]
|
|
heroOrItemDataList[i].type = 1
|
|
end
|
|
else
|
|
local HeroDatas = HeroManager.GetAllNumStarData(curData.heroGroupData[1])
|
|
for i = 1, #HeroDatas do
|
|
heroOrItemDataList[i] = HeroDatas[i]
|
|
heroOrItemDataList[i].type = 1
|
|
end
|
|
end
|
|
end
|
|
this.ScrollView:SetData(heroOrItemDataList, function(index, go)
|
|
this.OnShowSingleCardData(go, heroOrItemDataList[index])
|
|
end, false, false)
|
|
end
|
|
|
|
function this.OnClickEnterHero(go, heroData, type)
|
|
-- this.OnShowSingleCardData(go,heroData,type)
|
|
end
|
|
|
|
function this.OnShowSingleCardData(go, heroData) --isSelect 1选择 2 没选择
|
|
local choosed = Util.GetGameObject(go.transform, "choosed")
|
|
choosed:SetActive(false)
|
|
local frame = Util.GetGameObject(go.transform, "frame"):GetComponent("Image")
|
|
local lvGo = Util.GetGameObject(go.transform, "lv"):GetComponent("Text")
|
|
local icon = Util.GetGameObject(go.transform, "icon"):GetComponent("Image")
|
|
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")
|
|
|
|
if curData.type == 2 then
|
|
-- icon.sprite = this.spLoader:LoadSprite(heroData.icon)
|
|
local choosed = Util.GetGameObject(go.transform, "choosed")
|
|
choosed:SetActive(false)
|
|
-- if curSelectHeroList[heroData.dynamicId] then
|
|
-- curSelectHeroList[heroData.dynamicId]=heroData
|
|
-- choosed:SetActive(true)
|
|
-- end
|
|
for i = 1, #curSelectItemOrHeroList do
|
|
if curSelectItemOrHeroList[i].type == RoleUpStarMatType.hero then
|
|
if curSelectItemOrHeroList[i].dynamicId == heroData.dynamicId then
|
|
choosed:SetActive(true)
|
|
end
|
|
elseif curSelectItemOrHeroList[i].type == RoleUpStarMatType.item then
|
|
if curSelectItemOrHeroList[i].id == heroData.id and curSelectItemOrHeroList[i].index == heroData.index then
|
|
choosed:SetActive(true)
|
|
end
|
|
end
|
|
end
|
|
Util.GetGameObject(go.transform, "posIcon"):SetActive(false)
|
|
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")
|
|
if heroData.type == RoleUpStarMatType.hero then
|
|
frame.sprite = this.spLoader:LoadSprite(GetHeroQuantityImageByquality(heroData.heroConfig.Quality,
|
|
heroData.star))
|
|
lvGo:SetActive(true)
|
|
lvGo:GetComponent("Text").text = heroData.lv
|
|
icon.sprite = this.spLoader:LoadSprite(heroData.icon)
|
|
proIcon:GetComponent("Image").sprite = this.spLoader:LoadSprite(GetProStrImageByProNum(heroData.changeProId))
|
|
formationMask:SetActive((heroData.isFormation ~= nil and heroData.isFormation ~= "" and heroData.isFormation ~= Language[10476]) or
|
|
heroData.lockState == 1)
|
|
formationImage:SetActive(heroData.isFormation ~= nil and heroData.isFormation ~= "")
|
|
lockImage:SetActive(heroData.lockState == 1)
|
|
--noumenon:SetActive( heroData.id == curHeroData.id )
|
|
name.text = SubString2(GetLanguageStrById(heroData.heroConfig.ReadingName), 8)
|
|
local star, starType = heroData.GetStar(1)
|
|
SetHeroStars(this.spLoader, starGrid, star, starType, nil, nil, Vector2.New(0, 1))
|
|
LogError("hero star==" .. star)
|
|
-- local effect=SetHeroFlyEffect(go,this.spLoader,heroData.star,this.sortingOrder+1,1)
|
|
-- if effect then
|
|
-- local particles=effect:GetComponentsInChildren(typeof(UnityEngine.ParticleSystem))
|
|
-- for key, value in pairs(particles:ToTable()) do
|
|
-- local mat=value:GetComponent(typeof(UnityEngine.Renderer))
|
|
-- if mat.material.shader.name=="YXZ/Effect/Mix Masking(Without Moving)_alphablend" then
|
|
-- mat.material.shader=poolManager:LoadAsset("YXZ_MixMaskingWithoutMoving_alphablend_1",poolManager.AssetType.Other)
|
|
-- end
|
|
-- end
|
|
-- end
|
|
Util.SetParticleSortLayer(starGrid, this.sortingOrder + 1)
|
|
GongMingMask:SetActive(false) --最后检测是否共鸣
|
|
if heroData.lockState == 1 or (heroData.isFormation ~= "" and heroData.isFormation ~= Language[10476]) then
|
|
else
|
|
if HarmonyManager.IsChangeColor(heroData.dynamicId) then
|
|
Util.GetGameObject(go.transform, "lv"):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[10477])
|
|
end)
|
|
Util.AddOnceClick(cardBtn, function()
|
|
local isSelect = false
|
|
local selectIndex = 0
|
|
for i = 1, #curSelectItemOrHeroList do
|
|
if curSelectItemOrHeroList[i].type == RoleUpStarMatType.hero then
|
|
if curSelectItemOrHeroList[i].dynamicId == heroData.dynamicId then
|
|
isSelect = true
|
|
selectIndex = i
|
|
end
|
|
end
|
|
end
|
|
if isSelect then
|
|
choosed:SetActive(false)
|
|
-- curSelectHeroList[heroData.dynamicId]=nil
|
|
table.remove(curSelectItemOrHeroList, selectIndex)
|
|
-- this.numText.text=string.format("%s/%s",LengthOfTable(curSelectItemOrHeroList),curNeedRoleNum)
|
|
return
|
|
end
|
|
if LengthOfTable(curSelectItemOrHeroList) >= curNeedRoleNum then
|
|
PopupTipPanel.ShowTip(Language[10470])
|
|
return
|
|
end
|
|
-- curSelectHeroList[heroData.dynamicId]=heroData
|
|
table.insert(curSelectItemOrHeroList, heroData)
|
|
choosed:SetActive(true)
|
|
-- this.numText.text=string.format("%s/%s",LengthOfTable(currentSelectItems),curNeedRoleNum)
|
|
end)
|
|
|
|
Util.AddOnceClick(formationMask, function()
|
|
if heroData.isFormation ~= "" then
|
|
PopupTipPanel.ShowTip(heroData.isFormation)
|
|
return
|
|
end
|
|
if heroData.lockState == 1 then
|
|
PopupTipPanel.ShowTip(Language[10480])
|
|
return
|
|
end
|
|
end)
|
|
Util.AddLongPressClick(cardBtn, function()
|
|
UIManager.OpenPanel(UIName.RoleInfoPopup, heroData)
|
|
end, 0.5)
|
|
elseif heroData.type == RoleUpStarMatType.item then
|
|
LogError("22222222222")
|
|
local itemConfig = ConfigManager.TryGetConfigData(ConfigName.ItemConfig, heroData.id)
|
|
if not itemConfig then return end
|
|
frame.sprite = this.spLoader:LoadSprite(GetHeroQuantityImageByquality(itemConfig.Quantity,
|
|
itemConfig.HeroStar[1]))
|
|
lvGo:SetActive(false)
|
|
icon.sprite = this.spLoader:LoadSprite(GetResourcePath(itemConfig.ResourceID))
|
|
if itemConfig.PropertyName and itemConfig.PropertyName > 0 then
|
|
proIcon:SetActive(true)
|
|
proIcon:GetComponent("Image").sprite = this.spLoader:LoadSprite(GetProStrImageByProNum(itemConfig
|
|
.PropertyName))
|
|
else
|
|
proIcon:SetActive(false)
|
|
end
|
|
formationMask:SetActive(false)
|
|
formationImage:SetActive(false)
|
|
lockImage:SetActive(false)
|
|
noumenon:SetActive(false)
|
|
GongMingMask:SetActive(false)
|
|
name.text = SubString2(GetLanguageStrById(itemConfig.Name), 8)
|
|
SetHeroStars(this.spLoader, starGrid, itemConfig.HeroStar[1] or 6, 1, nil, nil, Vector2.New(0, 1))
|
|
local effect = SetHeroFlyEffect(go, this.spLoader, itemConfig.HeroStar[1] or 6, this.sortingOrder + 1, 1)
|
|
--[[
|
|
if effect then
|
|
local particles = effect:GetComponentsInChildren(typeof(UnityEngine.ParticleSystem))
|
|
for key, value in pairs(particles:ToTable()) do
|
|
local mat = value:GetComponent(typeof(UnityEngine.Renderer))
|
|
if mat.material.shader.name == "YXZ/Effect/Mix Masking(Without Moving)_alphablend" then
|
|
mat.material.shader = poolManager:LoadAsset("YXZ_MixMaskingWithoutMoving_alphablend_1",
|
|
poolManager.AssetType.Other)
|
|
end
|
|
end
|
|
end
|
|
]]
|
|
|
|
|
|
Util.SetParticleSortLayer(starGrid, this.sortingOrder + 1)
|
|
Util.AddOnceClick(cardBtn, function()
|
|
local isSelect = false
|
|
local selectIndex = 0
|
|
for i = 1, #curSelectItemOrHeroList do
|
|
if curSelectItemOrHeroList[i].type == RoleUpStarMatType.item then
|
|
if curSelectItemOrHeroList[i].id == heroData.id and curSelectItemOrHeroList[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
|
|
table.remove(curSelectItemOrHeroList, selectIndex)
|
|
-- this.numText.text=string.format("%s/%s",LengthOfTable(curSelectItemOrHeroList),curNeedRoleNum)
|
|
return
|
|
end
|
|
if LengthOfTable(curSelectItemOrHeroList) >= curNeedRoleNum then
|
|
PopupTipPanel.ShowTip(Language[10470])
|
|
return
|
|
end
|
|
-- curSelectHeroList[heroData.dynamicId]=heroData
|
|
table.insert(curSelectItemOrHeroList, heroData)
|
|
choosed:SetActive(true)
|
|
-- this.numText.text=string.format("%s/%s",LengthOfTable(curSelectItemOrHeroList),curNeedRoleNum)
|
|
end)
|
|
Util.AddLongPressClick(cardBtn, function()
|
|
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, heroData.id)
|
|
end, 0.5)
|
|
end
|
|
elseif curData.type == 3 or curData.type == 4 then
|
|
local choosed = Util.GetGameObject(go.transform, "choosed")
|
|
choosed:SetActive(false)
|
|
-- if curSelectHeroList[heroData.dynamicId] then
|
|
-- curSelectHeroList[heroData.dynamicId]=heroData
|
|
-- choosed:SetActive(true)
|
|
-- end
|
|
for i = 1, #currentSelectItems do
|
|
if currentSelectItems[i].dynamicId == heroData.dynamicId then
|
|
choosed:SetActive(true)
|
|
end
|
|
end
|
|
Util.GetGameObject(go.transform, "posIcon"):SetActive(false)
|
|
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")
|
|
frame.sprite = this.spLoader:LoadSprite(GetHeroQuantityImageByquality(heroData.pokemonData.config.Quality,
|
|
heroData.star))
|
|
lvGo:SetActive(true)
|
|
lvGo:GetComponent("Text").text = heroData.lv
|
|
icon.sprite = this.spLoader:LoadSprite(heroData.icon)
|
|
proIcon:GetComponent("Image").sprite = this.spLoader:LoadSprite(GetProStrImageByProNum(heroData.changeProId))
|
|
formationMask:SetActive((heroData.isFormation ~= nil and heroData.isFormation ~= "" and heroData.isFormation ~= Language[10476]) or
|
|
heroData.lockState == 1)
|
|
formationImage:SetActive(heroData.isFormation ~= nil and heroData.isFormation ~= "")
|
|
lockImage:SetActive(heroData.lockState == 1)
|
|
--noumenon:SetActive( heroData.id == curHeroData.id )
|
|
name.text = SubString2(GetLanguageStrById(heroData.name), 8)
|
|
local star = heroData.pokemonData.star
|
|
local starSize = Vector2.New(32.5, 32.5)
|
|
if star > 5 then
|
|
star = star + 5
|
|
starSize = Vector2.New(1, -13)
|
|
end
|
|
SetHeroStars(this.spLoader, starGrid, star, 1, starSize, -15)
|
|
|
|
Util.SetParticleSortLayer(starGrid, this.sortingOrder + 1)
|
|
GongMingMask:SetActive(false) --最后检测是否共鸣
|
|
|
|
Util.AddOnceClick(cardBtn, function()
|
|
local isSelect = false
|
|
local selectIndex = 0
|
|
for i = 1, #currentSelectItems do
|
|
if currentSelectItems[i].dynamicId == heroData.dynamicId then
|
|
isSelect = true
|
|
selectIndex = i
|
|
end
|
|
end
|
|
if isSelect then
|
|
choosed:SetActive(false)
|
|
-- curSelectHeroList[heroData.dynamicId]=nil
|
|
table.remove(currentSelectItems, selectIndex)
|
|
-- this.numText.text=string.format("%s/%s",LengthOfTable(curSelectItemOrHeroList),curNeedRoleNum)
|
|
return
|
|
end
|
|
if LengthOfTable(currentSelectItems) >= curNeedRoleNum then
|
|
PopupTipPanel.ShowTip(Language[10470])
|
|
return
|
|
end
|
|
-- curSelectHeroList[heroData.dynamicId]=heroData
|
|
table.insert(currentSelectItems, heroData)
|
|
choosed:SetActive(true)
|
|
-- this.numText.text=string.format("%s/%s",LengthOfTable(currentSelectItems),curNeedRoleNum)
|
|
end)
|
|
|
|
Util.AddOnceClick(formationMask, function()
|
|
if heroData.isFormation ~= "" then
|
|
PopupTipPanel.ShowTip(heroData.isFormation)
|
|
return
|
|
end
|
|
if heroData.lockState == 1 then
|
|
PopupTipPanel.ShowTip(Language[10480])
|
|
return
|
|
end
|
|
end)
|
|
Util.AddLongPressClick(cardBtn, function()
|
|
--UIManager.OpenPanel(UIName.RoleInfoPopup,heroData)
|
|
end, 0.5)
|
|
else
|
|
for i = 1, #currentSelectItems do
|
|
if currentSelectItems[i].itemData.id == heroData.itemData.id and currentSelectItems[i].index == heroData.index then
|
|
choosed:SetActive(true)
|
|
end
|
|
end
|
|
icon.sprite = this.spLoader:LoadSprite(heroData.itemData.icon)
|
|
local proIcon = Util.GetGameObject(go.transform, "proIcon")
|
|
proIcon:SetActive(false)
|
|
lvGo.gameObject:SetActive(true)
|
|
lvGo.text = heroData.index
|
|
name.text = GetLanguageStrById(heroData.itemData.name)
|
|
frame.sprite = this.spLoader:LoadSprite(heroData.itemData.frame)
|
|
local isSelect = CheckListIsContainValue1(curSelectItemOrHeroList, heroData.itemData.did)
|
|
Util.AddOnceClick(cardBtn, function()
|
|
local isSelect = false
|
|
local selectIndex = 0
|
|
for i = 1, #currentSelectItems do
|
|
if currentSelectItems[i].index == heroData.index then
|
|
isSelect = true
|
|
selectIndex = i
|
|
end
|
|
end
|
|
if isSelect then
|
|
choosed:SetActive(false)
|
|
-- curSelectHeroList[heroData.dynamicId]=nil
|
|
table.remove(currentSelectItems, selectIndex)
|
|
-- this.numText.text=string.format("%s/%s",LengthOfTable(currentSelectItems),curNeedRoleNum)
|
|
return
|
|
end
|
|
if LengthOfTable(currentSelectItems) >= curNeedRoleNum then
|
|
PopupTipPanel.ShowTip(Language[10470])
|
|
return
|
|
end
|
|
-- curSelectHeroList[heroData.dynamicId]=heroData
|
|
table.insert(currentSelectItems, heroData)
|
|
choosed:SetActive(true)
|
|
-- this.numText.text=string.format("%s/%s",LengthOfTable(currentSelectItems),curNeedRoleNum)
|
|
end)
|
|
end
|
|
end
|
|
|
|
--界面关闭时调用(用于子类重写)
|
|
function TrainingItemListPanel:OnClose()
|
|
|
|
end
|
|
|
|
--界面销毁时调用(用于子类重写)
|
|
function TrainingItemListPanel:OnDestroy()
|
|
this.spLoader:Destroy()
|
|
sendFunc = nil
|
|
heroOrItemDataList = {}
|
|
currentSelectItem = nil
|
|
|
|
this.ScrollView = nil
|
|
end
|
|
|
|
return TrainingItemListPanel
|