2023-09-13 14:57:48 +08:00
|
|
|
|
require("Base/BasePanel")
|
|
|
|
|
local spcialConfig = ConfigManager.GetConfig(ConfigName.SpecialConfig)
|
|
|
|
|
local equipConfig = ConfigManager.GetConfig(ConfigName.EquipConfig)
|
|
|
|
|
local itemConfig=ConfigManager.GetConfig(ConfigName.ItemConfig)
|
|
|
|
|
RoleGiftPanel = Inherit(BasePanel)
|
|
|
|
|
local isGonming = 0
|
|
|
|
|
local tableName={ "礼物","碎片"}
|
|
|
|
|
local isUpZhen = false
|
|
|
|
|
local this = RoleGiftPanel
|
|
|
|
|
local indexBtnNum=0
|
|
|
|
|
local tabs={}
|
|
|
|
|
local redTabs={}
|
|
|
|
|
local curHeroData=nil
|
|
|
|
|
local teamHero
|
|
|
|
|
local v1
|
|
|
|
|
local allUpIds={}
|
2024-01-10 18:12:31 +08:00
|
|
|
|
local upSuitId={}
|
2023-09-13 14:57:48 +08:00
|
|
|
|
local allEquip={}
|
|
|
|
|
local index=0
|
|
|
|
|
local lv,curNum,maxNum
|
|
|
|
|
local heroListData
|
|
|
|
|
local isDown=false
|
|
|
|
|
--初始化组件(用于子类重写)RoleEquipChangePopup
|
|
|
|
|
function RoleGiftPanel:InitComponent()
|
|
|
|
|
this.spLoader = SpriteLoader.New()
|
|
|
|
|
this.bg2 = Util.GetGameObject(self.transform, "bg2")
|
|
|
|
|
screenAdapte(this.bg2)
|
|
|
|
|
this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.gameObject.transform, {showType = UpViewOpenType.ShowLeft})
|
|
|
|
|
this.btnBack = Util.GetGameObject(self.transform, "btnBack/btnBack")
|
|
|
|
|
|
|
|
|
|
for i = 1, 2 do
|
|
|
|
|
tabs[i] = Util.GetGameObject(self.transform, "Tabs/Btn" .. i)
|
|
|
|
|
local nameTxt=Util.GetGameObject(tabs[i], "Text"):GetComponent("Text")
|
|
|
|
|
nameTxt.fontSize = GetCurLanguage() == 0 and 48 or 40
|
|
|
|
|
nameTxt.text=tableName[i]
|
|
|
|
|
redTabs[i] = Util.GetGameObject(tabs[i], "red")
|
|
|
|
|
if i==2 then
|
|
|
|
|
tabs[i]:SetActive(false)
|
|
|
|
|
end
|
|
|
|
|
--effectList[i] = Util.GetGameObject(self.transform, "bg/equipInfo/equip" .. i .. "/effect")
|
|
|
|
|
end
|
|
|
|
|
this.titleTxt=Util.GetGameObject(self.gameObject, "title"):GetComponent("Text")
|
2023-12-07 01:11:27 +08:00
|
|
|
|
this.titleTxt.text="英雄礼物"
|
2023-09-13 14:57:48 +08:00
|
|
|
|
this.selectBtn = Util.GetGameObject(self.gameObject, "selectBtn")
|
|
|
|
|
this.btnPrant = Util.GetGameObject(self.gameObject, "Tabs")
|
|
|
|
|
this.equipPreList2 = {}
|
|
|
|
|
this.equipPreList = {}
|
|
|
|
|
this.equipPre = Util.GetGameObject(self.gameObject, "equipPre")
|
|
|
|
|
this.upItemPre = Util.GetGameObject(self.gameObject, "upItemPre")
|
|
|
|
|
this.grid = Util.GetGameObject(self.gameObject, "scroll/grid")
|
|
|
|
|
this.selsectSkillImage = Util.GetGameObject(self.gameObject, "selsectSkillImage")
|
|
|
|
|
|
|
|
|
|
this.leftBtn = Util.GetGameObject(self.transform, "leftBtn/GameObject")
|
|
|
|
|
this.rightBtn = Util.GetGameObject(self.transform, "rightBtn/GameObject")
|
|
|
|
|
this.allEquipUp = Util.GetGameObject(self.transform, "allEquipUp")
|
|
|
|
|
this.allEquipDown = Util.GetGameObject(self.transform, "allEquipDown")
|
|
|
|
|
this.allEquipUpRedPoint = Util.GetGameObject(self.transform, "allEquipUp/redPoint")
|
|
|
|
|
this.allEquipUpRedPoint:SetActive(false)
|
2024-01-02 18:16:56 +08:00
|
|
|
|
this.ScrollBar = Util.GetGameObject(self.gameObject, "listObj/bg/Scrollbar"):GetComponent("Scrollbar")
|
|
|
|
|
local v2 = Util.GetGameObject(self.gameObject, "listObj/bg/scroll"):GetComponent("RectTransform").rect
|
|
|
|
|
this.ScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, Util.GetGameObject(self.transform, "listObj/bg/scroll").transform,
|
2024-01-13 14:08:15 +08:00
|
|
|
|
this.equipPre, this.ScrollBar,Vector2.New(v2.width, v2.height),1 , 4, Vector2.New(40, 25))
|
2023-09-13 14:57:48 +08:00
|
|
|
|
this.ScrollView.moveTween.MomentumAmount = 1
|
|
|
|
|
this.ScrollView.moveTween.Strength = 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1 = Util.GetGameObject(self.gameObject, "upScroll"):GetComponent("RectTransform").rect
|
2024-01-10 18:12:31 +08:00
|
|
|
|
this.UpScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, Util.GetGameObject(self.transform, "upScroll").transform,this.upItemPre, nil,Vector2.New(v1.width,v1.height),1 ,4, Vector2.New(50,65))
|
2023-09-13 14:57:48 +08:00
|
|
|
|
this.UpScrollView.moveTween.MomentumAmount = 1
|
|
|
|
|
this.UpScrollView.moveTween.Strength = 1
|
2023-10-31 16:23:50 +08:00
|
|
|
|
Util.GetGameObject(self.transform, "powerBtn"):GetComponent("Image").sprite = this.spLoader:LoadSprite("UI_hz_shenjiang_15_zh")
|
2023-09-13 14:57:48 +08:00
|
|
|
|
this.force = Util.GetGameObject(self.transform, "powerBtn/value"):GetComponent("Text")
|
|
|
|
|
this.itemNumText = Util.GetGameObject(self.transform, "itemNumText"):GetComponent("Text")
|
|
|
|
|
this.upLvEffect = Util.GetGameObject(self.transform, "powerBtn/effect")
|
|
|
|
|
|
2024-01-02 18:16:56 +08:00
|
|
|
|
this.emptyObj = Util.GetGameObject(self.transform, "listObj/bg/emptyObj")
|
2023-09-13 14:57:48 +08:00
|
|
|
|
this.emptyObj.gameObject:SetActive(false)
|
|
|
|
|
this.mask = Util.GetGameObject(self.gameObject, "mask")
|
|
|
|
|
this.mask:SetActive(false)
|
|
|
|
|
this.collectImg=Util.GetGameObject(self.gameObject, "collectImg"):GetComponent("Image")
|
|
|
|
|
this.lvTxt=Util.GetGameObject(self.gameObject, "lvTxt"):GetComponent("Text")
|
2023-10-31 16:23:50 +08:00
|
|
|
|
--this.collectImg.sprite=this.spLoader:LoadSprite("gh_tt_8")
|
2023-09-19 18:03:00 +08:00
|
|
|
|
|
|
|
|
|
this.btn_help=Util.GetGameObject(self.gameObject, "btn_help")
|
2024-01-02 18:16:56 +08:00
|
|
|
|
this.listObj = Util.GetGameObject(self.transform, "listObj")
|
|
|
|
|
this.listCloseBtn = Util.GetGameObject(self.transform, "listObj/bg/btn_close")
|
|
|
|
|
Util.GetGameObject(self.transform, "listObj/bg/title (1)"):GetComponent("Text").text="神将礼物"
|
|
|
|
|
this.proTitle = Util.GetGameObject(self.transform, "proTitle/name/text"):GetComponent("Text")
|
|
|
|
|
this.proTitle.text="当前礼物加成"
|
|
|
|
|
this.proGrid = Util.GetGameObject(self.transform, "pro")
|
|
|
|
|
this.proPre=Util.GetGameObject(self.transform, "pro/name")
|
|
|
|
|
--this.tipInfo = Util.GetGameObject(self.transform, "tipInfo"):GetComponent("Text")
|
|
|
|
|
|
|
|
|
|
this.proEmptyObj = Util.GetGameObject(self.transform, "proEmptyObj")
|
|
|
|
|
Util.GetGameObject(self.transform, "proEmptyObj/TextImage/Text"):GetComponent("Text").text="暂无加成属性"
|
2023-09-19 18:03:00 +08:00
|
|
|
|
|
2023-09-13 14:57:48 +08:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--绑定事件(用于子类重写)
|
|
|
|
|
function RoleGiftPanel:BindEvent()
|
2023-09-19 18:03:00 +08:00
|
|
|
|
|
2024-01-02 18:16:56 +08:00
|
|
|
|
Util.AddClick(this.listCloseBtn,function()
|
|
|
|
|
this.listObj:SetActive(false)
|
|
|
|
|
end)
|
2023-09-19 18:03:00 +08:00
|
|
|
|
Util.AddClick(this.btn_help,function()
|
|
|
|
|
UIManager.OpenPanel(UIName.HelpPopup, HELP_TYPE.Gift,0,0)
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
Util.AddClick(this.collectImg.gameObject,function()
|
2024-01-02 18:16:56 +08:00
|
|
|
|
-- local data = {}
|
|
|
|
|
-- local singData = {}
|
|
|
|
|
-- singData.title = "当前礼物总加成"
|
|
|
|
|
-- singData.pro = IncarnationManager.GetproDesLst(GiftManager.GetHeroGiftAddPro(curHeroData.dynamicId),"00FF00")
|
|
|
|
|
-- singData.tip ="" --"总加成包括化身之力提供的属性"
|
|
|
|
|
-- table.insert(data,singData)
|
|
|
|
|
-- UIManager.OpenPanel(UIName.GeneralBigPopup,GENERAL_POPUP_TYPE.IncarnationDes,data)
|
2023-09-19 18:03:00 +08:00
|
|
|
|
end)
|
2023-09-13 14:57:48 +08:00
|
|
|
|
Util.AddClick(this.btnBack,function()
|
|
|
|
|
PlaySoundWithoutClick(SoundConfig.Sound_UICancel)
|
|
|
|
|
self:ClosePanel()
|
|
|
|
|
end)
|
|
|
|
|
Util.AddClick(this.leftBtn,function()
|
|
|
|
|
index = (index - 1 > 0 and index - 1 or #heroListData)
|
|
|
|
|
curHeroData = heroListData[index]
|
|
|
|
|
this.RefreshWindowData()
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
Util.AddClick(this.rightBtn,function()
|
|
|
|
|
index = (index + 1 <= #heroListData and index + 1 or 1)
|
|
|
|
|
curHeroData = heroListData[index]
|
|
|
|
|
this.RefreshWindowData()
|
|
|
|
|
end)
|
|
|
|
|
Util.AddOnceClick(this.allEquipUp,function()
|
|
|
|
|
local canNum=curNum-#allUpIds
|
|
|
|
|
if canNum>0 then
|
|
|
|
|
local list={}
|
2024-01-10 18:12:31 +08:00
|
|
|
|
table.sort(allEquip,function(a,b)
|
|
|
|
|
return equipConfig[a.id].ExhibitionScore>equipConfig[b.id].ExhibitionScore
|
|
|
|
|
end)
|
2023-09-13 14:57:48 +08:00
|
|
|
|
for i=1,#allEquip do
|
|
|
|
|
if i<=canNum then
|
2024-01-10 18:12:31 +08:00
|
|
|
|
if CheckListIsContainValue1(allUpIds,allEquip[i].id)==false and CheckListIsContainValue1(upSuitId,equipConfig[allEquip[i].id].SuiteID)==false then
|
2023-09-13 14:57:48 +08:00
|
|
|
|
table.insert(list,allEquip[i].id)
|
2024-01-10 18:12:31 +08:00
|
|
|
|
table.insert(upSuitId,equipConfig[allEquip[i].id].SuiteID)
|
2023-09-13 14:57:48 +08:00
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
NetManager.GiftEquipWearRequest(1,curHeroData.dynamicId,list,function()
|
|
|
|
|
GiftManager.SetHeroGift(curHeroData.dynamicId,list,1)
|
|
|
|
|
this.RefreshWindowData()
|
|
|
|
|
end)
|
|
|
|
|
end
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
Util.AddOnceClick(this.allEquipDown,function()
|
|
|
|
|
isDown=true
|
|
|
|
|
NetManager.GiftEquipWearRequest(2,curHeroData.dynamicId,allUpIds,function()
|
|
|
|
|
isDown=false
|
|
|
|
|
GiftManager.SetHeroGift(curHeroData.dynamicId,allUpIds,2)
|
|
|
|
|
this.RefreshWindowData()
|
|
|
|
|
end)
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
for i = 1, 2 do
|
|
|
|
|
Util.AddClick(tabs[i],function()
|
|
|
|
|
-- isPlayAnim = true
|
|
|
|
|
if i == indexBtnNum then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
indexBtnNum = i
|
|
|
|
|
this:OnClickTabBtn(indexBtnNum)
|
|
|
|
|
end)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--添加事件监听(用于子类重写)
|
|
|
|
|
function RoleGiftPanel:AddListener()
|
|
|
|
|
Game.GlobalEvent:AddEvent(GameEvent.Bag.BagGold, this.RefreshWindowData)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--移除事件监听(用于子类重写)
|
|
|
|
|
function RoleGiftPanel:RemoveListener()
|
|
|
|
|
Game.GlobalEvent:RemoveEvent(GameEvent.Bag.BagGold, this.RefreshWindowData)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--界面打开时调用(用于子类重写)
|
|
|
|
|
function RoleGiftPanel:OnOpen(...)
|
|
|
|
|
local data = {...}
|
|
|
|
|
curHeroData=data[1]
|
|
|
|
|
if data[2] then
|
|
|
|
|
heroListData = data[2]
|
|
|
|
|
else
|
|
|
|
|
heroListData = HeroManager.GetAllHeroDatas()
|
|
|
|
|
end
|
2024-01-02 18:16:56 +08:00
|
|
|
|
this.listObj:SetActive(false)
|
2023-09-13 14:57:48 +08:00
|
|
|
|
end
|
|
|
|
|
function RoleGiftPanel:OnShow()
|
|
|
|
|
for i = 1, #heroListData do
|
|
|
|
|
if curHeroData == heroListData[i] then
|
|
|
|
|
index = i
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
teamHero = FormationManager.GetAllMainFormationHeroId()
|
|
|
|
|
this.RefreshWindowData()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function this:OnSortingOrderChange()
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function this.RefreshWindowData()
|
|
|
|
|
local WarPower = 0
|
|
|
|
|
if isDown then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
isUpZhen=teamHero[curHeroData.dynamicId]
|
|
|
|
|
if isUpZhen then
|
|
|
|
|
WarPower = HeroPowerManager.GetHeroPower(curHeroData.dynamicId, FormationTypeDef.FORMATION_NORMAL)
|
|
|
|
|
else
|
|
|
|
|
WarPower = HeroPowerManager.GetHeroPower(curHeroData.dynamicId)
|
|
|
|
|
end
|
|
|
|
|
this.force.text = WarPower
|
|
|
|
|
--显示上面赠送的
|
|
|
|
|
local list=GiftManager.GetHeroGifts(curHeroData.dynamicId)
|
|
|
|
|
lv,curNum,maxNum=GiftManager.GetCollectLvAndNum()
|
2024-01-10 18:12:31 +08:00
|
|
|
|
if #list>=50 then
|
|
|
|
|
curNum=#list+6
|
|
|
|
|
maxNum=#list+6
|
|
|
|
|
else
|
|
|
|
|
curNum=50
|
|
|
|
|
maxNum=50
|
|
|
|
|
end
|
2023-09-13 14:57:48 +08:00
|
|
|
|
this.lvTxt.text="收集度"..lv.."级"
|
2023-09-21 15:18:13 +08:00
|
|
|
|
LogError("lv========="..lv.." curnum=="..curNum.." maxNum=="..maxNum)
|
|
|
|
|
--maxNum=0
|
2023-09-13 14:57:48 +08:00
|
|
|
|
local giftDatas={}
|
2023-09-19 18:03:00 +08:00
|
|
|
|
allUpIds={}
|
2024-01-10 18:12:31 +08:00
|
|
|
|
upSuitId={}
|
2023-09-13 14:57:48 +08:00
|
|
|
|
for i=1,maxNum do
|
|
|
|
|
local data={}
|
2023-09-19 18:03:00 +08:00
|
|
|
|
data.type=1
|
|
|
|
|
data.qua=0
|
|
|
|
|
data.id=0
|
2024-01-02 18:16:56 +08:00
|
|
|
|
data.isRed=false
|
2023-09-13 14:57:48 +08:00
|
|
|
|
if i<=#list then
|
2023-09-19 18:03:00 +08:00
|
|
|
|
data.type=2
|
2023-09-13 14:57:48 +08:00
|
|
|
|
data.id=list[i]
|
2023-09-19 18:03:00 +08:00
|
|
|
|
data.qua=itemConfig[list[i]].Quantity
|
|
|
|
|
table.insert(allUpIds,data.id)
|
2024-01-10 18:12:31 +08:00
|
|
|
|
table.insert(upSuitId,equipConfig[data.id].SuiteID)
|
2024-01-02 18:16:56 +08:00
|
|
|
|
else
|
|
|
|
|
data.isRed=GiftManager.CheckRoleRedPointById(curHeroData.dynamicId)
|
2023-09-13 14:57:48 +08:00
|
|
|
|
end
|
|
|
|
|
table.insert(giftDatas,data)
|
|
|
|
|
end
|
2023-09-19 18:03:00 +08:00
|
|
|
|
table.sort(giftDatas,function(a,b)
|
|
|
|
|
if a.type==b.type then
|
|
|
|
|
if a.qua and a.qua==b.qua then
|
|
|
|
|
return a.id<b.id
|
|
|
|
|
else
|
|
|
|
|
return a.qua>b.qua
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
return a.type>b.type
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end)
|
|
|
|
|
|
2023-09-13 14:57:48 +08:00
|
|
|
|
this.UpScrollView:SetData(giftDatas,
|
|
|
|
|
function(index, go)
|
|
|
|
|
this.SingleUpItemShow(go, giftDatas[index],index)
|
|
|
|
|
end
|
|
|
|
|
)
|
2024-01-02 18:16:56 +08:00
|
|
|
|
|
|
|
|
|
local proList=IncarnationManager.GetproDesLst(GiftManager.GetHeroGiftAddPro(curHeroData.dynamicId),"00FF00")
|
2024-02-14 17:40:10 +08:00
|
|
|
|
table.insert(proList,string.format("英雄潜能等级+%s",GiftManager.GetHeroGiftAddPotencyLv(curHeroData.dynamicId)))
|
2024-01-02 18:16:56 +08:00
|
|
|
|
local originalList=GiftManager.GetHeroGiftAddOriginalPro(curHeroData.dynamicId)
|
|
|
|
|
if proList and #proList>0 then
|
|
|
|
|
this.proGrid:SetActive(true)
|
|
|
|
|
this.proEmptyObj:SetActive(false)
|
|
|
|
|
local len=this.proGrid.transform.childCount
|
|
|
|
|
local create=#proList-len
|
|
|
|
|
if create>0 then
|
|
|
|
|
for i=1,create do
|
|
|
|
|
newObjToParent(this.proPre,this.proGrid)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
len=this.proGrid.transform.childCount
|
|
|
|
|
for i=1,len do
|
|
|
|
|
if i<=#proList-1 then
|
|
|
|
|
this.proGrid.transform:GetChild(i-1).gameObject:SetActive(true)
|
|
|
|
|
LogError("originalList[i]======================"..originalList[i])
|
|
|
|
|
this.proGrid.transform:GetChild(i-1):GetComponent("Text").text=proList[i]..
|
|
|
|
|
string.format(" 主角礼物加成+%s (%s%%)",math.floor(originalList[i]*GiftManager.GetPlayerGiftAdd()/100), GiftManager.GetPlayerGiftAdd())
|
|
|
|
|
..string.format(" 特训加成+%s (%s%%)",math.floor(originalList[i]*HeroManager.ReturnGiftAtt()),HeroManager.ReturnGiftAtt())
|
|
|
|
|
elseif i==#proList then
|
|
|
|
|
this.proGrid.transform:GetChild(i-1).gameObject:SetActive(true)
|
|
|
|
|
this.proGrid.transform:GetChild(i-1):GetComponent("Text").text=proList[i]
|
|
|
|
|
else
|
|
|
|
|
this.proGrid.transform:GetChild(i-1).gameObject:SetActive(false)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
this.proGrid:SetActive(false)
|
|
|
|
|
this.proEmptyObj:SetActive(true)
|
|
|
|
|
end
|
|
|
|
|
--this.tipInfo.text=string.format("神将潜能等级+%s",GiftManager.GetHeroGiftAddPotencyLv(curHeroData.dynamicId))
|
2023-09-13 14:57:48 +08:00
|
|
|
|
--显示下面可赠送的
|
|
|
|
|
this:OnClickTabBtn(1)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--显示上面几个
|
|
|
|
|
function this.SingleUpItemShow(_go,data,_index)
|
|
|
|
|
_go:SetActive(true)
|
|
|
|
|
_go.transform:SetAsFirstSibling()
|
|
|
|
|
local frame=_go:GetComponent("Image")
|
|
|
|
|
local icon=Util.GetGameObject(_go,"icon"):GetComponent("Image")
|
|
|
|
|
local name=Util.GetGameObject(_go,"name"):GetComponent("Text")
|
|
|
|
|
local lockObj=Util.GetGameObject(_go,"lock")
|
|
|
|
|
local lockText=Util.GetGameObject(_go,"Text"):GetComponent("Text")
|
|
|
|
|
local add=Util.GetGameObject(_go,"add")
|
2024-01-02 18:16:56 +08:00
|
|
|
|
local red=Util.GetGameObject(_go,"red")
|
2024-01-10 18:12:31 +08:00
|
|
|
|
local starGrid=Util.GetGameObject(_go,"starGrid")
|
2023-09-13 14:57:48 +08:00
|
|
|
|
if data.id and data.id~=0 then
|
2024-01-02 18:16:56 +08:00
|
|
|
|
red:SetActive(false)
|
2023-09-13 14:57:48 +08:00
|
|
|
|
frame.sprite=this.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[data.id].Quantity))
|
|
|
|
|
icon.gameObject:SetActive(true)
|
|
|
|
|
name.gameObject:SetActive(true)
|
|
|
|
|
lockObj:SetActive(false)
|
2024-01-10 18:12:31 +08:00
|
|
|
|
starGrid:SetActive(true)
|
2023-09-13 14:57:48 +08:00
|
|
|
|
lockText.gameObject:SetActive(false)
|
|
|
|
|
add:SetActive(false)
|
|
|
|
|
name.text=itemConfig[data.id].Name
|
|
|
|
|
icon.sprite=this.spLoader:LoadSprite(GetResourcePath(itemConfig[data.id].ResourceID))
|
2024-01-10 18:12:31 +08:00
|
|
|
|
SetHeroStars(this.spLoader,starGrid,equipConfig[data.id].Star,1,nil,-15)
|
2023-09-13 14:57:48 +08:00
|
|
|
|
Util.AddOnceClick(icon.gameObject,function()
|
|
|
|
|
if curHeroData==nil then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
BagManager.isBagPanel=false
|
|
|
|
|
UIManager.OpenPanel(UIName.RewardEquipSingleShowPopup2,this,data,2,false,nil,curHeroData,4)
|
|
|
|
|
end
|
|
|
|
|
)
|
|
|
|
|
else
|
2024-12-23 17:11:26 +08:00
|
|
|
|
frame.sprite=this.spLoader:LoadSprite("UI_hz_beibao_duigoudi")
|
2023-09-13 14:57:48 +08:00
|
|
|
|
icon.gameObject:SetActive(false)
|
|
|
|
|
name.gameObject:SetActive(false)
|
2024-01-10 18:12:31 +08:00
|
|
|
|
starGrid:SetActive(false)
|
2023-09-13 14:57:48 +08:00
|
|
|
|
if _index>curNum then
|
|
|
|
|
lockObj:SetActive(true)
|
|
|
|
|
add:SetActive(false)
|
2024-01-02 18:16:56 +08:00
|
|
|
|
red:SetActive(false)
|
2023-09-13 14:57:48 +08:00
|
|
|
|
lockText.gameObject:SetActive(true)
|
|
|
|
|
lockText.text="收集度"..lv+1 .."级解锁"
|
|
|
|
|
else
|
|
|
|
|
lockObj:SetActive(false)
|
|
|
|
|
lockText.gameObject:SetActive(false)
|
|
|
|
|
add:SetActive(true)
|
2024-01-02 18:16:56 +08:00
|
|
|
|
red:SetActive(data.isRed)
|
2023-09-13 14:57:48 +08:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end
|
2024-01-02 18:16:56 +08:00
|
|
|
|
Util.AddOnceClick(add,function()
|
|
|
|
|
this.listObj:SetActive(true)
|
|
|
|
|
end)
|
2023-09-13 14:57:48 +08:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--点击装备按钮
|
|
|
|
|
function this:OnClickTabBtn(_index)
|
|
|
|
|
indexBtnNum = _index
|
|
|
|
|
this:SetSelectBtn()
|
|
|
|
|
allEquip = BagManager.GetBagItemDataByItemType(ItemBaseType.HeroGift)
|
|
|
|
|
-- this:SortEquipDatas(allEquip)
|
|
|
|
|
local count = 0
|
|
|
|
|
for i=1,#allEquip do
|
|
|
|
|
count = count + 1
|
2024-01-10 18:12:31 +08:00
|
|
|
|
if CheckListIsContainValue1(allUpIds,allEquip[i].id) or CheckListIsContainValue1(upSuitId,equipConfig[allEquip[i].id].SuiteID) then
|
2023-09-13 14:57:48 +08:00
|
|
|
|
allEquip[i].isUp=1
|
|
|
|
|
else
|
|
|
|
|
allEquip[i].isUp=2
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
table.sort(allEquip,function(a,b)
|
|
|
|
|
if a.isUp==b.isUp then
|
|
|
|
|
if a.quality==b.quality then
|
|
|
|
|
return a.id<b.id
|
|
|
|
|
else
|
|
|
|
|
return a.quality>b.quality
|
|
|
|
|
end
|
|
|
|
|
else
|
2023-09-19 18:03:00 +08:00
|
|
|
|
return a.isUp > b.isUp
|
2023-09-13 14:57:48 +08:00
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
end)
|
|
|
|
|
--"装备数量:"
|
|
|
|
|
this.itemNumText.text = "礼物种类:" .. count
|
|
|
|
|
this:SetItemData(allEquip)
|
|
|
|
|
|
|
|
|
|
--this.CheckRedTab()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function this:SetItemData(_itemDatas)
|
|
|
|
|
if LengthOfTable(_itemDatas) == 0 then
|
|
|
|
|
this.emptyObj.gameObject:SetActive(true)
|
|
|
|
|
else
|
|
|
|
|
this.emptyObj.gameObject:SetActive(false)
|
|
|
|
|
end
|
|
|
|
|
for k,v in pairs(this.equipPreList) do
|
|
|
|
|
v.gameObject:SetActive(false)
|
|
|
|
|
end
|
|
|
|
|
this.ScrollView:SetData(
|
|
|
|
|
_itemDatas,
|
|
|
|
|
function(index, go)
|
|
|
|
|
this.SingleItemDataShow(go, _itemDatas[index])
|
|
|
|
|
end
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function this.SingleItemDataShow(_go, _itemData)
|
|
|
|
|
if not itemConfig[_itemData.id] then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
if not this.equipPreList[_go] then
|
|
|
|
|
this.equipPreList[_go] = SubUIManager.Open(SubUIConfig.ItemView,_go.transform)
|
|
|
|
|
end
|
|
|
|
|
local redPoint = Util.GetGameObject(_go.transform, "redPoint")
|
2023-09-20 14:37:05 +08:00
|
|
|
|
local tip=Util.GetGameObject(_go.transform, "tip")
|
|
|
|
|
tip:SetActive(_itemData.isUp==1)
|
2024-01-10 18:12:31 +08:00
|
|
|
|
local isHave=CheckListIsContainValue1(allUpIds,_itemData.id) or CheckListIsContainValue1(upSuitId,equipConfig[_itemData.id].SuiteID)
|
2023-09-20 11:28:57 +08:00
|
|
|
|
redPoint:SetActive(isHave==false and curNum>#allUpIds)
|
2023-09-13 14:57:48 +08:00
|
|
|
|
this.equipPreList[_go].gameObject:SetActive(true)
|
|
|
|
|
this.equipPreList[_go].transform:SetAsFirstSibling()
|
2024-01-13 14:08:15 +08:00
|
|
|
|
this.equipPreList[_go]:ResetNameColor(Color.New(178/255,85/255,55/255,1))
|
2023-09-20 14:37:05 +08:00
|
|
|
|
--if itemConfig[_itemData.id].ItemType == ItemType.Equip then
|
2023-09-20 16:33:01 +08:00
|
|
|
|
this.equipPreList[_go]:OnOpen(false,{_itemData.id,_itemData.num}, 1.1, true, false, false, this.sortingOrder+1,_itemData.idDyn)
|
2023-09-13 14:57:48 +08:00
|
|
|
|
-- 0.查看属性 1.穿戴 2.卸下 3.交换
|
|
|
|
|
--宝物界面
|
|
|
|
|
Util.AddOnceClick(Util.GetGameObject(_go.transform, "mask"),function()
|
|
|
|
|
BagManager.isBagPanel=true
|
2023-09-20 11:28:57 +08:00
|
|
|
|
if isHave then
|
2023-09-20 15:41:36 +08:00
|
|
|
|
UIManager.OpenPanel(UIName.RewardEquipSingleShowPopup2,this,_itemData,6,false,nil,curHeroData,4)
|
2023-09-13 14:57:48 +08:00
|
|
|
|
else
|
|
|
|
|
UIManager.OpenPanel(UIName.RewardEquipSingleShowPopup2,this,_itemData,3,false,nil,curHeroData,4)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
)
|
2023-09-20 14:37:05 +08:00
|
|
|
|
--end
|
2023-09-13 14:57:48 +08:00
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function this:SetSelectBtn()
|
|
|
|
|
this.selectBtn:SetActive(true)
|
|
|
|
|
this.selectBtn.transform:SetParent(tabs[indexBtnNum].transform)
|
|
|
|
|
this.selectBtn:GetComponent("RectTransform").anchoredPosition3D = Vector3(-12.28, 1.08, 0)
|
|
|
|
|
this.selectBtn.transform:SetSiblingIndex(1)
|
|
|
|
|
Util.GetGameObject(this.selectBtn.transform, "Text"):GetComponent("Text").text = GetCurLanguage() == 0 and tableName[indexBtnNum] or "<size=40>"..tableName[indexBtnNum].."</size>"--typeTab[indexBtnNum]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--选择图片设置父级
|
|
|
|
|
function this.SelectImageSetParent(_objPoint)
|
|
|
|
|
this.selsectSkillImage:SetActive(false)
|
|
|
|
|
this.selsectSkillImage.transform:SetParent(_objPoint.transform)
|
|
|
|
|
this.selsectSkillImage.transform.localScale = Vector3.one
|
|
|
|
|
this.selsectSkillImage.transform.localPosition = Vector3.zero
|
|
|
|
|
end
|
|
|
|
|
--界面关闭时调用(用于子类重写)
|
|
|
|
|
function RoleGiftPanel:OnClose()
|
|
|
|
|
BagManager.isBagPanel=false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--界面销毁时调用(用于子类重写)
|
|
|
|
|
function RoleGiftPanel:OnDestroy()
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
return RoleGiftPanel
|
|
|
|
|
|