require("Base/BasePanel") RewardItemSingleShowPopup = Inherit(BasePanel) local this = RewardItemSingleShowPopup local JumpConfig = ConfigManager.GetConfig(ConfigName.JumpConfig) local RechargeCommodityConfig = ConfigManager.GetConfig(ConfigName.RechargeCommodityConfig) local itemSid local heroBackData local itemConfigData local itemNu = 0 local func local armorType = 0 local lanTuData = {} local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig) local isNoShowSureBtn = false--外部界面调用此界面传的参数 ture 时不显示使用按钮 false 或者不传没影响 local isBagPanel = false --初始化组件(用于子类重写) function RewardItemSingleShowPopup:InitComponent() this.spLoader = SpriteLoader.New() this.BtnBack = Util.GetGameObject(self.transform, "bg/btnBack") this.mask = Util.GetGameObject(self.transform, "mask") this.topBar = Util.GetGameObject(self.transform, "bg/topBar") this.infoBar = Util.GetGameObject(self.transform, "bg/infoBar") this.infoBarTxt = Util.GetGameObject(self.transform, "bg/infoBar/Text"):GetComponent("Text") this.itemPos = Util.GetGameObject(self.transform, "bg/topBar/armor/itemPos") this.itemView = SubUIManager.Open(SubUIConfig.ItemView,this.itemPos.transform) this.pos = Util.GetGameObject(self.transform, "bg/topBar/armor/pos") this.posBgImage = Util.GetGameObject(this.pos, "posBg"):GetComponent("Image") this.posIcon = Util.GetGameObject(this.pos, "PosImage"):GetComponent("Image") this.posText = Util.GetGameObject(this.pos, "PosText"):GetComponent("Text") this.armorType = Util.GetGameObject(self.transform, "bg/topBar/armor/info/armorType"):GetComponent("Text") this.armorLanTuNum = Util.GetGameObject(self.transform, "bg/topBar/armor/info/armorLanTuNum"):GetComponent("Text") this.checkHero = Util.GetGameObject(self.transform, "bg/topBar/armor/info/checkHero") this.checkHeroText = Util.GetGameObject(this.checkHero, "Text"):GetComponent("Text") this.info = Util.GetGameObject(self.transform, "bg/topBar/armor/info") this.itemName = Util.GetGameObject(this.info, "name"):GetComponent("Text") this.armorTitle = Util.GetGameObject(this.info, "armorTitle"):GetComponent("Text") this.armorDesc = Util.GetGameObject(this.info, "armorDesc"):GetComponent("Text") this.armorLock = Util.GetGameObject(this.info, "armorLock"):GetComponent("Text") this.equipQuaText = Util.GetGameObject(self.transform, "bg/topBar/armor/equipQuaText"):GetComponent("Text") this.armorInfo = Util.GetGameObject(self.transform, "bg/topBar/armorInfo") this.armorInfoText = Util.GetGameObject(self.transform, "bg/topBar/armorInfo"):GetComponent("Text") this.scroll = Util.GetGameObject(self.transform, "bg/midBar/scroll") this.equipProGrid = Util.GetGameObject(self.transform, "bg/midBar/scroll/grid") this.equipProGridCom = Util.GetGameObject(self.transform, "bg/midBar/scroll/grid"):GetComponent("VerticalLayoutGroup") this.btnSure = Util.GetGameObject(self.transform, "bg/bottomBar/btnSure") this.btnJump = Util.GetGameObject(self.transform, "bg/bottomBar/btnJump") this.btnClose = Util.GetGameObject(self.transform, "bg/bottomBar/btnClose") this.btnSureText = Util.GetGameObject(this.btnSure.transform, "Text"):GetComponent("Text") this.helpBtn = Util.GetGameObject(self.transform, "bg/topBar/helpBtn") end --绑定事件(用于子类重写) function RewardItemSingleShowPopup:BindEvent() Util.AddClick(this.BtnBack, function() PlaySoundWithoutClick(SoundConfig.Sound_UICancel) PlayerManager.RewardItemSingleShowPopupIsRoleUpStarLayout2 = false self:ClosePanel() end) Util.AddClick(this.helpBtn, function() UIManager.OpenPanel(UIName.ItemBoxDropPopup,itemConfigData.RewardGroup) end) Util.AddClick(this.mask, function() PlaySoundWithoutClick(SoundConfig.Sound_UICancel) PlayerManager.RewardItemSingleShowPopupIsRoleUpStarLayout2 = false self:ClosePanel() end) Util.AddClick(this.btnClose, function() PlaySoundWithoutClick(SoundConfig.Sound_UICancel) PlayerManager.RewardItemSingleShowPopupIsRoleUpStarLayout2 = false self:ClosePanel() end) Util.AddClick(this.checkHero, function() if itemConfigData.ItemType == ItemType.HeroDebris or itemConfigData.ItemType == ItemType.LingShouChip then if itemConfigData.RewardGroup then local rg = ConfigManager.GetConfigData(ConfigName.RewardGroup, itemConfigData.RewardGroup[1]) if rg.ShowItem then local id = rg.ShowItem[1][1] if itemConfigData.ItemType == ItemType.HeroDebris then local hero = ConfigManager.GetConfigData(ConfigName.HeroConfig, id) local star =hero.MaxRank UIManager.OpenPanel(UIName.RoleGetInfoPopup, false, id, star) elseif itemConfigData.ItemType == ItemType.LingShouChip then UIManager.OpenPanel(UIName.PokemonGetInfoPopup, false,id) end end end end end) Util.AddClick(this.btnSure, function() if itemConfigData.UseLevel and itemConfigData.UseLevel > 0 and PlayerManager.level < itemConfigData.UseLevel then PopupTipPanel.ShowTip(string.format("等级达%s后可以使用", itemConfigData.UseLevel)) return end if itemConfigData.ItemType == ItemType.HeroDebris or itemConfigData.ItemType==ItemType.likeabilityItemChip or itemConfigData.ItemType==ItemType.EquipChip or itemConfigData.ItemType==ItemType.CommonChip then local gameSetting = ConfigManager.GetConfigData(ConfigName.GameSetting, 1) local endHeroNum=gameSetting.HeroNumlimit-LengthOfTable(HeroManager.GetAllHeroDatas()) local sum = BagManager.GetItemCountById(itemSid) / BagManager.bagDatas[itemSid].itemConfig.UsePerCount if sum >= 2 then local _itemData = BagManager.bagDatas[itemSid] if endHeroNum > 0 then UIManager.OpenPanel(UIName.BagResolveAnCompoundPanel, 3, _itemData, function() func() end) else PopupTipPanel.ShowTip(Language[12157]) end elseif sum >= 1 and sum < 2 then -- body local compoundNum = 1 local _itemData = BagManager.bagDatas[itemSid] local item={} item.itemId= _itemData.id item.itemNum=compoundNum*_itemData.itemConfig.UsePerCount if endHeroNum > 0 then NetManager.HeroComposeRequest(item,function (drop) this.SendBackCompoundReCallBack(drop) end) if compoundNum<=0 then PopupTipPanel.ShowTip(Language[10183]) end else PopupTipPanel.ShowTip(Language[12157]) end else PopupTipPanel.ShowTip(Language[11509]) end elseif itemConfigData.ItemType == ItemType.Blueprint then if lanTuData and lanTuData[1] == true then local _itemData = BagManager.bagDatas[itemSid] UIManager.OpenPanel(UIName.BagResolveAnCompoundPanel, 3, _itemData, function() func() end) elseif lanTuData and lanTuData[1] == false and lanTuData[2] > 0 then NetManager.GetWorkShopAvtiveLanTuRequest(lanTuData[2], 2, function() --刷新工坊解锁蓝图数据 this.DeleteActiveLanTuData() end) end elseif itemConfigData.ItemType == ItemType.Box or itemConfigData.ItemType == ItemType.GMzck or itemConfigData.ItemType == ItemType.GMBigZck or itemConfigData.ItemType == ItemType.GMzcq or itemConfigData.ItemType == ItemType.GMxck or itemConfigData.ItemType == ItemType.GMxjk or itemConfigData.ItemType == ItemType.GMxsZcq then local _itemData = BagManager.bagDatas[itemSid] if itemConfig[itemSid].UseType ~= 2 then UIManager.OpenPanel(UIName.BagResolveAnCompoundPanel, 4, _itemData, function() func() end) end elseif itemConfigData.ItemType == ItemType.ChangeName then UIManager.OpenPanel(UIName.CreateNamePopup) elseif itemConfigData.ItemType == ItemType.ReplaceCard then UIManager.OpenPanel(UIName.HeroReplacePopup,itemConfigData.Id) elseif itemConfigData.ItemType == ItemType.Skin then local group = ConfigManager.GetConfigData(ConfigName.RewardGroup,tonumber(itemConfig[itemSid].ResolveReward)).ShowItem MsgPanel.ShowTwo(string.format(Language[11510],group[1][2],GetLanguageStrById(itemConfig[group[1][1]].Name)),function() end, function() local curResolveAllItemList = {} table.insert(curResolveAllItemList,{itemId = itemSid,itemNum = 1}) NetManager.UseAndPriceItemRequest(1,curResolveAllItemList,function (drop) UIManager.OpenPanel(UIName.RewardItemPopup,drop,1) self:ClosePanel() end) end,Language[10731],Language[10732],Language[11511],false,"") elseif itemConfigData.ItemType == ItemType.ZuoQiChip then local sum = BagManager.GetItemCountById(itemSid) / BagManager.bagDatas[itemSid].itemConfig.UsePerCount sum = math.floor(sum) if sum >= 2 then local _itemData = BagManager.bagDatas[itemSid] UIManager.OpenPanel(UIName.BagResolveAnCompoundPanel, 3, _itemData, function() func() end) elseif sum >= 1 then local _itemData = BagManager.bagDatas[itemSid] local item={} item.itemId= _itemData.id item.itemNum= sum * _itemData.itemConfig.UsePerCount NetManager.HeroComposeRequest(item,function (drop) this.SendBackCompoundReCallBack(drop) end) else PopupTipPanel.ShowTip("碎片不足,无法合成坐骑。") end elseif itemConfigData.ItemType == ItemType.TimeIsGold then -- 挂机时长奖励 local _itemData = BagManager.bagDatas[itemSid] UIManager.OpenPanel(UIName.BagResolveAnCompoundPanel, 4, _itemData, function() func() end) else local _itemData = BagManager.bagDatas[itemSid] UIManager.OpenPanel(UIName.BagResolveAnCompoundPanel, 3, _itemData, function() func() end) end end) Util.AddClick(this.btnJump, function() if itemConfigData.ItemType == ItemType.Skin then local skinConfig = ConfigManager.GetConfigData(ConfigName.HeroSkin,itemSid) local have,overtime = HeroSkinManager.IsExist(skinConfig.Type) if have then if overtime < 0 then PopupTipPanel.ShowTip(Language[12169]) else PopupTipPanel.ShowTip(Language[11512]) end else local curResolveAllItemList = {} table.insert(curResolveAllItemList,{itemId = itemSid,itemNum = 1}) NetManager.UseAndPriceItemRequest(0,curResolveAllItemList,function (drop) self:ClosePanel() if HeroManager.GetCurHeroIsHaveBySid(skinConfig.HeroId) then MsgPanel.ShowTwo(string.format(Language[11513],GetLanguageStrById(skinConfig.ReadingName)),function() end,function() local herodata = HeroManager.GetHeroDataByHeroSIdAndMinSortIdAndSkinId(skinConfig.HeroId,skinConfig.Type) --LogGreen("herodata.dynamicId:"..tostring(herodata.dynamicId)) UIManager.OpenPanel(UIName.RoleInfoPanel,herodata, HeroManager.GetAllHeroDatas(),true,RoleInfoPanelIndex.pifu) end,Language[10731],Language[10732],"",false,"") else PopupTipPanel.ShowTip(string.format(Language[11514],GetLanguageStrById(skinConfig.ReadingName))) end end) end elseif itemConfigData.ItemType == ItemType.HeadFrame then HeadManager.GetCurFrameId() local theFrameData = HeadManager.GetSingleFrame(itemSid) if theFrameData then MsgPanel.ShowTwo(Language[12170],nil,function() NetManager.UseHeadFrameRequestFun(itemSid,function (msg) HeadManager.SetSineleHeadFrameAllData(itemSid,msg.validTime) self:ClosePanel() PopupTipPanel.ShowTip(Language[12171]) end) end) else NetManager.UseHeadFrameRequestFun(itemSid,function (msg) HeadManager.SetSineleHeadFrameAllData(itemSid,msg.validTime) self:ClosePanel() PopupTipPanel.ShowTip(Language[12171]) end) end -- elseif itemConfigData.ItemType == ItemType.Ride then -- local oldPowerNum = FormationManager.GetFormationPower(FormationTypeDef.FORMATION_NORMAL) -- if PlayerManager.userMountList[itemConfigData.Id] then -- MsgPanel.ShowTwo(Language[12254],nil,function() -- NetManager.ActiveUserMountRequest(itemSid,function (msg) -- PlayerManager.SetPlayerMountTime(itemSid,msg.validTime) -- self:ClosePanel() -- PopupTipPanel.ShowTip(Language[12255]) -- this.WarPowerChange(oldPowerNum,PowerChangeJumpType.ride) -- -- 设置新坐骑 -- PlayerSetTitleRideSkinManager.SetNewRide(itemConfigData.Id) -- end) -- end) -- else -- NetManager.ActiveUserMountRequest(itemSid,function (msg) -- PlayerManager.SetPlayerMountTime(itemSid,msg.validTime) -- self:ClosePanel() -- PopupTipPanel.ShowTip(Language[12255]) -- this.WarPowerChange(oldPowerNum,PowerChangeJumpType.ride) -- -- 设置新坐骑 -- PlayerSetTitleRideSkinManager.SetNewRide(itemConfigData.Id) -- end) -- end elseif itemConfigData.ItemType == ItemType.Title then local oldPowerNum = FormationManager.GetFormationPower(FormationTypeDef.FORMATION_NORMAL) if PlayerManager.userTitleList[itemConfigData.Id] then MsgPanel.ShowTwo(Language[12307],nil,function() NetManager.ActiveUserTitleRequest(itemSid,function (msg) PlayerManager.SetPlayerTitleTime(itemSid,msg.validTime) self:ClosePanel() PopupTipPanel.ShowTip(Language[12308]) this.WarPowerChange(oldPowerNum,PowerChangeJumpType.title) end) end) else NetManager.ActiveUserTitleRequest(itemSid,function (msg) PlayerManager.SetPlayerTitleTime(itemSid,msg.validTime) self:ClosePanel() PopupTipPanel.ShowTip(Language[12308]) this.WarPowerChange(oldPowerNum,PowerChangeJumpType.title) end) end elseif itemConfigData then JumpManager.GoJump(itemConfigData.UseJump,function () Log("UseJump:"..tostring(itemConfigData.UseJump)) this:ClosePanel() end) end end) end local callBackFun function this.SendBackCompoundReCallBack(drop) --this:ClosePanel() UIManager.OpenPanel(UIName.RewardItemPopup,drop,1,function () --UIManager.OpenPanel(UIName.BagPanel) -- if callBackFun then -- callBackFun() func() -- end end,nil,nil,nil,true) --改为后端刷新了 --BagManager.UpdateItemsNum(itemData.id,compoundNum*itemData.itemConfig.UsePerCount) end --扣除解锁蓝图材料 并数据 function this.DeleteActiveLanTuData() PopupTipPanel.ShowTip(Language[11515] .. GetLanguageStrById(itemConfigData.Name)) if lanTuData and lanTuData[1] == false and lanTuData[2] > 0 then WorkShopManager.UpdataWorkShopLanTuActiveState(2, lanTuData[2], itemConfigData.Id)-- end if func then func() end this:ClosePanel() end --添加事件监听(用于子类重写) function RewardItemSingleShowPopup:AddListener() end --移除事件监听(用于子类重写) function RewardItemSingleShowPopup:RemoveListener() end --界面打开时调用(用于子类重写) function RewardItemSingleShowPopup:OnOpen(...) itemNu = 0 local data = { ... } itemSid = data[1] itemConfigData = ConfigManager.GetConfigData(ConfigName.ItemConfig, itemSid) this.isRewardItemPop=data[3] if data[2] then func = data[2] end isNoShowSureBtn = data[4] and data[4] or false end function RewardItemSingleShowPopup:OnShow() isBagPanel = BagManager.isBagPanel this.helpBtn.gameObject:SetActive(false) this.itemName.text = GetStringByEquipQua(itemConfigData.Quantity, GetLanguageStrById(itemConfigData.Name)) this.topBar:GetComponent("Image").sprite = self.spLoader:LoadSprite("t_tongyong_di_"..itemConfigData.Quantity) --判断自选宝箱界面是否开启 if itemConfigData.ItemType==ItemType.Incarnation or itemConfigData.ItemType==ItemType.CommonChip then local skillId=0 if itemConfigData.ItemType==ItemType.CommonChip then if itemConfigData.RewardGroup then local reward=ConfigManager.GetConfigData(ConfigName.RewardGroup,itemConfigData.RewardGroup[1]) if reward then local config=ConfigManager.TryGetConfigDataByKey(ConfigName.ChangingCard,"CardId",reward.ShowItem[1][1]) if config then skillId=config.Id end end end elseif itemConfigData.ItemType==ItemType.Incarnation then local config=ConfigManager.GetConfigDataByKey(ConfigName.ChangingCard,"CardId",itemConfigData.Id) skillId=config.Id end if skillId~=0 then this.infoBar:SetActive(true) this.infoBarTxt.text="变身卡技能:"..IncarnationManager.GetSkillDesStr(skillId,5) else this.infoBar:SetActive(false) end else this.infoBar:SetActive(false) end local isBoxOpen = UIManager.IsOpen(314) if isBagPanel and isBoxOpen then this.btnSure:SetActive(false) elseif isBagPanel and itemConfigData.IfResolve == 1 and func then--是否可分解 this.btnSure:SetActive(true) this.btnSureText.text = Language[10197] elseif isBagPanel and func --是否是碎片可合成 and (itemConfigData.ItemType == ItemType.HeroDebris or itemConfigData.ItemType == ItemType.ZuoQiChip or itemConfigData.ItemType == ItemType.likeabilityItemChip or itemConfigData.ItemType == ItemType.EquipChip or itemConfigData.ItemType == ItemType.CommonChip ) then this.btnSureText.text = Language[10193] this.btnSure:SetActive(true) elseif isBagPanel and func and (itemConfigData.ItemType == ItemType.GMzck or itemConfigData.ItemType == ItemType.GMBigZck or itemConfigData.ItemType == ItemType.GMzcq or itemConfigData.ItemType == ItemType.GMxck or itemConfigData.ItemType == ItemType.GMxsZcq or itemConfigData.ItemType == ItemType.GMxjk or itemConfigData.ItemType == ItemType.ReplaceCard) then this.btnSure:SetActive(true) this.btnSureText.text = Language[10195] elseif isBagPanel and itemConfigData.ItemType == ItemType.Box and func then this.btnSure:SetActive(true) this.btnSureText.text = Language[10195] if itemConfigData.HeroStar and itemConfigData.HeroStar[1]==1 then this.helpBtn.gameObject:SetActive(true) end elseif isBagPanel and itemConfigData.ItemType == ItemType.ChangeName and func then-- 改名卡 this.btnSure:SetActive(true) this.btnSureText.text = Language[10195] elseif isBagPanel and itemConfigData.ItemType == ItemType.TimeIsGold then -- 挂机奖励 this.btnSure:SetActive(true) this.btnSureText.text = Language[10195] elseif isBagPanel and itemConfigData.ItemType == ItemType.GodPrint then this.btnSure:SetActive(false) else this.btnSure:SetActive(false) this.btnSureText.text = Language[10197] end this.btnJump:SetActive(itemConfigData.UseJump and itemConfigData.UseJump > 0 and isBagPanel and not isNoShowSureBtn) local creatJumpData = function(jumpDataList) local jumpSortData = {} if jumpDataList and #jumpDataList > 0 then for i = 1, #jumpDataList do--为关卡跳转做的排序数据 local jumpData = {} jumpData.id = jumpDataList[i] jumpData.data = JumpConfig[jumpDataList[i]] table.insert(jumpSortData,jumpData) end end return jumpSortData end if this.jumpViewList and #this.jumpViewList > 0 then for i = 1,#this.jumpViewList do SubUIManager.Close(this.jumpViewList[i]) end end this.jumpViewList = {} if PlayerManager.RewardItemSingleShowPopupIsRoleUpStarLayout then local heroConfig = ConfigManager.GetConfigData(ConfigName.HeroConfig,itemConfigData.Id) this.btnClose:SetActive(true) this.btnJump:SetActive(false) this.btnSure:SetActive(false) this.equipQuaText.gameObject:SetActive(false) this.pos.gameObject:SetActive(true) this.posBgImage.sprite = this.spLoader:LoadSprite(GetHeroPosBgStr(heroConfig.Profession)) this.armorInfo.gameObject:SetActive(false) this.armorTitle.gameObject:SetActive(true) this.armorDesc.gameObject:SetActive(true) this.armorTitle.text = string.format("%s",itemConfigData.Name) this.armorDesc.text = string.format("%s",heroConfig.HeroLocationDesc1) this.armorType.gameObject:SetActive(false) this.armorLanTuNum.gameObject:SetActive(false) this.posIcon.sprite =this.spLoader:LoadSprite(GetHeroPosStr(heroConfig.Profession)) this.posText.text=GetLanguageStrById(heroConfig.HeroLocation) SetTextVerTial(this.posText.gameObject,Vector3.New(64,21,0),"MiddleLeft") local jumpDataList = heroConfig.Jump for i = 1, #jumpDataList do if not RECHARGEABLE and (JumpConfig[jumpDataList[i]].Type == JumpType.firstRecharge or JumpConfig[jumpDataList[i]].Type == JumpType.ZhiZunJiangShi or JumpConfig[jumpDataList[i]].Type == JumpType.recharge) then--(是否开启充值) else local isShow = true if JumpConfig[jumpDataList[i]].Type == JumpType.firstRecharge then local id = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.FirstRecharge) if id and id > 0 then local configs = ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig,"ActivityId",id) for i = 1,#configs do if configs[i].Reward[1][1] == heroConfig.Id then local mission = ActivityGiftManager.GetActivityInfo(id, configs[i].Id) if mission.state ~= 1 then isShow = true else isShow = false end break end end else isShow = false end elseif JumpConfig[jumpDataList[i]].Type == JumpType.ZhiZunJiangShi then local id = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.SupremeHero) if id and id > 0 then if ActivityGiftManager.CheckSupremeMission(1,true) and ActivityGiftManager.CheckSupremeMission(2,true) and ActivityGiftManager.CheckSupremeMission(3,true) and ActivityGiftManager.CheckSupremeMission(4,true)then isShow = false else local endTime = ActivityGiftManager.GetTaskEndTime(ActivityTypeDef.SupremeHero) if endTime - PlayerManager.serverTime > 0 then isShow = true else isShow = false end end else isShow = false end end if isShow then local tempView = SubUIManager.Open(SubUIConfig.JumpViewNew, this.equipProGrid.transform, jumpDataList[i],heroConfig,self) table.insert(this.jumpViewList,tempView) end end end this.scroll:GetComponent("RectTransform").sizeDelta = Vector2.New(912.8,717.6) -- this.equipProGridCom.spacing = 160 -- this.equipProGrid:GetComponent("RectTransform").sizeDelta = Vector2.New(807.7,this.equipProGridCom.spacing*(#jumpDataList)) else this.btnClose:SetActive(false) this.equipQuaText.gameObject:SetActive(true) this.equipQuaText.text = GetStringByEquipQua(itemConfigData.Quantity, GetQuaStringByEquipQua(itemConfigData.Quantity)) this.pos.gameObject:SetActive(false) this.armorInfo.gameObject:SetActive(true) this.armorTitle.gameObject:SetActive(false) this.armorDesc.gameObject:SetActive(false) this.armorType.gameObject:SetActive(true) this.armorLanTuNum.gameObject:SetActive(true) this.armorType.text = this.getType()--道具类型显示 this.armorLanTuNum.text = Language[11516] .. BagManager.GetItemCountById(itemSid) this.armorInfoText.text = string.gsub(GetLanguageStrById(itemConfigData.ItemDescribe), "\\n", "") local jumpDataList = itemConfigData.Jump local jumpSortData = creatJumpData(jumpDataList) for i = 1, #jumpSortData do if jumpSortData[i].id > 0 then -- type 大于 10000为活动 直接显示按钮,如果小于1000 为功能 开启才显示 if JumpConfig[jumpSortData[i].id].Type >= 10000 or ActTimeCtrlManager.SingleFuncState(JumpConfig[jumpSortData[i].id].Type) then local tempView = nil -- if not ActTimeCtrlManager.SingleFuncState(JumpConfig[jumpSortData[i].id].Type) then break end if not RECHARGEABLE then--(是否开启充值) if this.isRewardItemPop == true or itemConfigData.Id == 61 or itemConfigData.Id == 19 or itemConfigData.ItemType == 17 then tempView = SubUIManager.Open(SubUIConfig.JumpView, this.equipProGrid.transform, jumpSortData[i].id,false,self) else tempView = SubUIManager.Open(SubUIConfig.JumpView, this.equipProGrid.transform, jumpSortData[i].id,true,self) end else if this.isRewardItemPop == true or itemConfigData.ItemType == 17 then tempView = SubUIManager.Open(SubUIConfig.JumpView, this.equipProGrid.transform, jumpSortData[i].id,false,self) else tempView = SubUIManager.Open(SubUIConfig.JumpView, this.equipProGrid.transform, jumpSortData[i].id,true,self) end end if tempView then table.insert(this.jumpViewList,tempView) end end end end this.scroll:GetComponent("RectTransform").sizeDelta = Vector2.New(912.8,600) -- if jumpDataList and #jumpDataList then -- this.equipProGrid:GetComponent("RectTransform").sizeDelta = Vector2.New(807.7,this.equipProGridCom.spacing*(#jumpDataList)) -- end end this.itemView:OnOpen(false, {itemConfigData.Id,0}, 1.1, false, false, false, self.sortingOrder) if itemConfigData.RewardGroup then local rg = ConfigManager.TryGetConfigData(ConfigName.RewardGroup, itemConfigData.RewardGroup[1]) if rg and rg.ShowItem and itemConfigData.ItemType == ItemType.HeroDebris then this.checkHero:SetActive(true) this.checkHeroText.text = "查看神将" elseif rg and rg.ShowItem and itemConfigData.ItemType == ItemType.LingShouChip then this.checkHero:SetActive(true) this.checkHeroText.text = "查看灵兽" else this.checkHero:SetActive(false) end else this.checkHero:SetActive(false) end -- 判断是否要显示等级限制 this.armorLock.gameObject:SetActive(false) if itemConfigData.UseLevel and itemConfigData.UseLevel > 0 and PlayerManager.level < itemConfigData.UseLevel then this.armorLock.gameObject:SetActive(true) this.armorLock.text = string.format("等级达%s后可以使用", UIColorStr.RED, itemConfigData.UseLevel) end ForceRebuildLayout(this.equipProGrid.transform) end --获取道具种类 function this.getType() local type = itemConfig[itemSid].ItemBaseType if type == 1 then return Language[11089]..Language[11517] elseif type == 2 then return Language[11089]..Language[10201] elseif type == 4 then return Language[11089]..Language[11518] elseif type == 5 then return Language[11089]..Language[11519] elseif type == 6 then return Language[11089]..Language[11520] elseif type == 7 then return Language[11089]..Language[11521] end end --为关卡跳转做的排序 function this.JumpSort(jumps) table.sort(jumps, function(a, b) if a.state == b.state then if a.state == 2 and b.state == 2 then return a.data.SortId > b.data.SortId end else return a.state > b.state end end) end --道具 和 装备分解 发送请求后 回调 function this.SendBackResolveReCallBack(drop, curResolveAllItemList) UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1) if func then func() end this:ClosePanel() end --界面关闭时调用(用于子类重写) function RewardItemSingleShowPopup:OnClose() isBagPanel=false PlayerManager.RewardItemSingleShowPopupIsRoleUpStarLayout = false if this.jumpViewList and #this.jumpViewList > 0 then for i = 1,#this.jumpViewList do SubUIManager.Close(this.jumpViewList[i]) end end this.jumpViewList = {} end --界面销毁时调用(用于子类重写) function RewardItemSingleShowPopup:OnDestroy() SubUIManager.Close(this.itemView) if this.jumpViewList and #this.jumpViewList > 0 then for i = 1,#this.jumpViewList do SubUIManager.Close(this.jumpViewList[i]) end end this.jumpViewList = {} this.spLoader:Destroy() end function this.WarPowerChange(oldPowerNum,type) -- 设置脏数据 HeroPropManager.SetFuncPropDirty(Func_Prop_Type.PlayerExtra) -- Game.GlobalEvent:DispatchEvent(GameEvent.Bag.OnBagShowWarPowerChange,oldPowerNum,type) local newPowerNum = FormationManager.GetFormationPower(FormationTypeDef.FORMATION_NORMAL) if oldPowerNum ~= newPowerNum then UIManager.OpenPanel(UIName.WarPowerChangeNotifyPanelV2,{oldValue = oldPowerNum,newValue = newPowerNum}) end end return RewardItemSingleShowPopup