require("Base/BasePanel") local RewardEquipSingleShowPopup2 = Inherit(BasePanel) local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig) local propertyConfig = ConfigManager.GetConfig(ConfigName.PropertyConfig) local passiveSkillConfig = ConfigManager.GetConfig(ConfigName.PassiveSkillConfig) local EquipStrengthen = ConfigManager.GetConfig(ConfigName.EquipStrengthen) local EquipRankUp = ConfigManager.GetConfig(ConfigName.EquipRankUp) local suitConFig = ConfigManager.GetConfig(ConfigName.EquipSuiteConfig) local _BaseProList = {} --基础属性对象 local _homeProList = {} --摘星阁属性对象 local _suitProList = {} --套装属性对象 local _superProList = {} --白金属性对象 local equipConfigData local typeToUpdate = { [2] = 2, --已穿戴->卸载单件 [3] = 1, --未穿戴->穿单件 [4] = 3, --未穿戴->替换单件 } --初始化组件(用于子类重写) function RewardEquipSingleShowPopup2:InitComponent() self.spLoader = SpriteLoader.New() self.mask = Util.GetGameObject(self.transform, "mask") self.content = Util.GetGameObject(self.transform, "Content") --装备详情--topBar self.topBar = Util.GetGameObject(self.transform, "Content/topBar") self.topBarBg = Util.GetGameObject(self.transform, "Content/topBar/bg2") self.topBarBgColor = Util.GetGameObject(self.transform, "Content/topBar/bg1"):GetComponent("Image") self.eqiopName = Util.GetGameObject(self.topBar, "name"):GetComponent("Text") self.UI_effect_WuCai_Kuang = Util.GetGameObject(self.topBar, "UI_effect_WuCai_Kuang") self.c_ui_qinyan_duan = Util.GetGameObject(self.topBar, "c_ui_qinyan_duan") self.icon = Util.GetGameObject(self.topBar, "icon"):GetComponent("Image") self.frame = Util.GetGameObject(self.topBar, "frame"):GetComponent("Image") self.equipType = Util.GetGameObject(self.topBar, "equipType"):GetComponent("Text") self.equipQuaText = Util.GetGameObject(self.topBar, "equipQuaText"):GetComponent("Text") self.equipInfoText = Util.GetGameObject(self.topBar, "equipInfoText"):GetComponent("Text") self.powerNum = Util.GetGameObject(self.topBar, "powerNum"):GetComponent("Text") self.star = Util.GetGameObject(self.topBar, "star") self.powerNumUpDown = Util.GetGameObject(self.topBar, "powerUPorDown"):GetComponent("Image") self.effectbaijin = Util.GetGameObject(self.topBar, "fx_zhuangbeijiemian") self.hLv = Util.GetGameObject(self.topBar, "hLv"):GetComponent("Text") --家园摘星阁强化 self.hProLv = Util.GetGameObject(self.topBar, "hProLv"):GetComponent("Text") --家园摘星阁突破 --装备属性--midBar --basePro self.midBar = Util.GetGameObject(self.transform, "Content/midBar") self.basePro = Util.GetGameObject(self.midBar, "basePro") self.baseProName = Util.GetGameObject(self.basePro, "PropertyName"):GetComponent("Text") self.baseProGrid = Util.GetGameObject(self.basePro, "grid") self.baseProPre = Util.GetGameObject(self.basePro, "grid/curProName") self.baseProPre:SetActive(false) --homePro self.homePro = Util.GetGameObject(self.midBar, "homePro") self.homeProName = Util.GetGameObject(self.homePro, "PropertyName"):GetComponent("Text") self.homeProGrid = Util.GetGameObject(self.homePro, "grid") self.homeProPre = Util.GetGameObject(self.homePro, "grid/curProName") self.homeProPre:SetActive(false) self.btnJumpHome = Util.GetGameObject(self.homePro, "btnJump") --suitPro self.suitPro = Util.GetGameObject(self.midBar, "suitPro") self.suitProName = Util.GetGameObject(self.suitPro, "PropertyName"):GetComponent("Text") self.suitProGrid = Util.GetGameObject(self.suitPro, "proGrid") self.suitProPre = Util.GetGameObject(self.suitPro, "proGrid/proPre") self.suitProPre:SetActive(false) --superPro self.superPro = Util.GetGameObject(self.midBar, "superPro") self.superProGrid = Util.GetGameObject(self.superPro, "proGrid") self.superProPre = Util.GetGameObject(self.superPro, "proGrid/Desc") self.superProPre:SetActive(false) --分解按钮--btmBar self.btmBar = Util.GetGameObject(self.transform, "Content/btmBar") self.howGet = Util.GetGameObject(self.btmBar, "howGet") self.btnGrid = Util.GetGameObject(self.btmBar, "btnGrid") self.btnSure = Util.GetGameObject(self.btnGrid, "btnSure") self.btnJump = Util.GetGameObject(self.btnGrid, "btnJump") self.btnWear = Util.GetGameObject(self.btnGrid, "btnWear") self.btnDown = Util.GetGameObject(self.btnGrid, "btnDown") self.btnSwitch = Util.GetGameObject(self.btnGrid, "btnSwitch") --装备获取途径--btmBar self.canGetPre = Util.GetGameObject(self.btmBar, "scroll/canGetPre") self.canGetGrid = Util.GetGameObject(self.btmBar, "scroll") self.canGetScrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, self.canGetGrid.transform, self.canGetPre, nil, Vector2.New(self.canGetGrid.transform.rect.width, self.canGetGrid.transform.rect.height), 1, 1, Vector2.New(0, 0)) self.canGetScrollView.moveTween.MomentumAmount = 1 self.canGetScrollView.moveTween.Strength = 2 self.canGetScrollView.elastic = false self.jumpViewList = {} end --绑定事件(用于子类重写) function RewardEquipSingleShowPopup2:BindEvent() Util.AddClick(self.mask, function() PlaySoundWithoutClick(SoundConfig.Sound_UICancel) self:ClosePanel() end) --跳转 Util.AddClick(self.btnJump, function() if self.equipData.itemConfig then JumpManager.GoJump(self.equipData.itemConfig.UseJump) end end) --分解 Util.AddClick(self.btnSure, function() --数量大于1 ,弹选择框 if BagManager.GetItemCountById(self.equipData.id) > 1 then UIManager.OpenPanel(UIName.GeneralPopup, GENERAL_POPUP_TYPE.EquipSingleSell, self.equipData) self:ClosePanel() elseif BagManager.GetItemCountById(self.equipData.id) == 1 then --只有一个,分解品质大于4, 弹框 if self.equipData.itemConfig.Quantity >= 4 then UIManager.OpenPanel(UIName.BagResolveAnCompoundPanel, 2, self.equipData.itemConfig.ItemBaseType, self.equipData) else local curResolveAllItemList = {} local equip = {} equip.itemId = self.equipData.id equip.itemNum = 1 table.insert(curResolveAllItemList, equip) local type = 1 NetManager.UseAndPriceItemRequest(type, curResolveAllItemList, function(drop) self:SendBackResolveReCallBack(drop) end) end else PopupTipPanel.ShowTip(Language[12179]) end end) --穿戴 Util.AddOnceClick(self.btnWear, function() if equipConfigData.Position == 7 or equipConfigData.Position == 8 then local idList = {} table.insert(idList, self.equipData.id) local heroId = "" if self.curHeroData then heroId = self.curHeroData.dynamicId else heroId = "0" end NetManager.GiftEquipWearRequest(1, heroId, idList, function() self:ClosePanel() if heroId == "0" then GiftManager.SetPlayerGift(idList) HeroManager.ChangeAllHeroGiftLV() else GiftManager.SetHeroGift(self.curHeroData.dynamicId, idList, 1) end self.parent.RefreshWindowData() end) else local equipIdList = {} local equipDataList = {} table.insert(equipIdList, tostring(self.equipData.id)) table.insert(equipDataList, self.equipData) NetManager.EquipWearRequest(self.curHeroData.dynamicId, equipIdList, 1, function() self:ClosePanel() self.parent.UpdateEquipPosHeroData(1, typeToUpdate[self.openType], equipDataList, 0, self.position) end) end end) --卸下 Util.AddOnceClick(self.btnDown, function() if equipConfigData.Position == 7 or equipConfigData.Position == 8 then local idList = {} local heroId = "" if self.curHeroData then heroId = self.curHeroData.dynamicId else heroId = "0" end LogError("2222222222222222222222" .. heroId) LogError("self.equipData.id===" .. self.equipData.id) table.insert(idList, self.equipData.id) --table.insert(idList,5200020) NetManager.GiftEquipWearRequest(2, heroId, idList, function() self:ClosePanel() if heroId == "0" then GiftManager.RemovePlayerGift(idList) HeroManager.ChangeAllHeroGiftLV() else GiftManager.SetHeroGift(self.curHeroData.dynamicId, idList, 2) end self.parent.RefreshWindowData() end) else local equipIdList = {} local equipDataList = {} table.insert(equipIdList, tostring(self.equipData.id)) table.insert(equipDataList, self.equipData) NetManager.EquipUnLoadOptRequest(self.curHeroData.dynamicId, equipIdList, 1, function() self:ClosePanel() self.parent.UpdateEquipPosHeroData(1, typeToUpdate[self.openType], equipDataList) end) end end) --替换 Util.AddClick(self.btnSwitch, function() local equipIdList = {} local equipDataList = {} table.insert(equipIdList, tostring(self.equipData.id)) table.insert(equipDataList, self.equipData) NetManager.EquipWearRequest(self.curHeroData.dynamicId, equipIdList, 1, function() self:ClosePanel() self.parent.UpdateEquipPosHeroData(1, typeToUpdate[self.openType], equipDataList, self.nextEquip, self.position) end) end) --跳转摘星阁 Util.AddClick(self.btnJumpHome, function() HomeLandManager.curEquip = self.equipData.position JumpManager.GoJump(40059, function() Timer.New(function() UIManager.OpenPanel(UIName.HomeLandEquipPopup) end, 0.5):Start() end) end) end --道具 和 装备分解 发送请求后 回调 function RewardEquipSingleShowPopup2:SendBackResolveReCallBack(drop) local isShowReward = false if drop.itemlist ~= nil and #drop.itemlist > 0 then for i = 1, #drop.itemlist do if drop.itemlist[i].itemNum > 0 then isShowReward = true break end end end if isShowReward then UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1, function() BagManager.OnShowTipDropNumZero(drop) end) else BagManager.OnShowTipDropNumZero(drop) end if self.func then self.func() end self:ClosePanel() end --添加事件监听(用于子类重写) function RewardEquipSingleShowPopup2:AddListener() end --移除事件监听(用于子类重写) function RewardEquipSingleShowPopup2:RemoveListener() end function RewardEquipSingleShowPopup2:OnSortingOrderChange() Util.SetParticleSortLayer(self.effectbaijin, self.sortingOrder + 1) SetParticleSortLayer(self.c_ui_qinyan_duan, self.sortingOrder + 1) SetParticleSortLayer(self.UI_effect_WuCai_Kuang, self.sortingOrder + 1) end --界面打开时调用(用于子类重写) function RewardEquipSingleShowPopup2:OnOpen(_parent, _equipData, _openType, _isShowGet, _isShowGo, _curHeroData, _position, _targetEquipData, _func) if not _equipData then return end self.parent = _parent --父界面 self.equipData = _equipData --当前装备数据 self.openType = _openType --0不显示按钮、1背包、2已穿戴(显示卸下)、3未穿戴(显示穿戴)、4未穿戴(显示替换)、5自己或其他人穿戴(非装备界面但需要显示套装属性) self.howGet:SetActive(_isShowGet and true or false) --是否显示获取途径 self.btnGrid:SetActive(self.openType ~= 0) self.curHeroData = _curHeroData --装备了该装备的英雄数据 self.position = _position --装备的位置 self.nextEquip = _targetEquipData --要替换的目标装备 if _targetEquipData then LogGreen("Id:" .. tostring(_equipData.id) .. " Id2:" .. tostring(_targetEquipData.id)) end self.isShowGo = _isShowGo and _isShowGo or false --是否显示跳转按钮 self.func = _func end function RewardEquipSingleShowPopup2:SetBtns() local itemConfigData = ConfigManager.GetConfigData(ConfigName.ItemConfig, tonumber(self.equipData.id)) self.btnSure:SetActive(itemConfigData.IfResolve == 1 and BagManager.isBagPanel) self.btnJump:SetActive(itemConfigData.UseJump and itemConfigData.UseJump > 0 and BagManager.isBagPanel) self.btnWear:SetActive(self.openType == 3) self.btnDown:SetActive(self.openType == 2) self.btnSwitch:SetActive(self.openType == 4) end function RewardEquipSingleShowPopup2:OnShow() --上部装备基础信息 Log("装备id:" .. tostring(self.equipData.id) .. " openType:" .. tostring(self.openType)) self:SetBtns() equipConfigData = ConfigManager.GetConfigData(ConfigName.EquipConfig, tonumber(self.equipData.id)) local itemConfigData = ConfigManager.GetConfigData(ConfigName.ItemConfig, tonumber(self.equipData.id)) local aaa = equipConfigData.Quality if equipConfigData.Quality == 8 then aaa = 7 end --self.topBar:GetComponent("Image").sprite = self.spLoader:LoadSprite("t_tongyong_di_"..aaa) self.topBarBg:GetComponent("Image").sprite = self.spLoader:LoadSprite("t_tongyong_di_" .. aaa) if aaa == 1 then self.topBarBgColor.color = Color.New(0.81, 0.81, 0.81, 1) elseif aaa == 2 then self.topBarBgColor.color = Color.New(0.24, 0.34, 0.21, 1) elseif aaa == 3 then self.topBarBgColor.color = Color.New(0.22, 0.42, 0.63, 1) elseif aaa == 4 then self.topBarBgColor.color = Color.New(0.29, 0.14, 0.26, 1) elseif aaa == 5 then self.topBarBgColor.color = Color.New(0.26, 0.14, 0.06, 1) elseif aaa == 6 then self.topBarBgColor.color = Color.New(0.25, 0.02, 0.02, 1) elseif aaa == 7 then self.topBarBgColor.color = Color.New(0.32, 0.32, 0.32, 1) elseif aaa == 8 then self.topBarBgColor.color = Color.New(0.32, 0.32, 0.32, 1) end self.topBar:GetComponent("Image").sprite = self.spLoader:LoadSprite("t_tongyong_di_4") self.equipQuaText.text = GetStringByEquipQua(equipConfigData.Quality, GetQuaStringByEquipQua(equipConfigData.Quality)) self.eqiopName.text = GetStringByEquipQua(equipConfigData.Quality, GetLanguageStrById(equipConfigData.Name)) self.c_ui_qinyan_duan:SetActive(equipConfigData.Quality == 8) self.UI_effect_WuCai_Kuang:SetActive(equipConfigData.Quality == 7) self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(equipConfigData.Quality)) self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfigData.ResourceID)) self.equipInfoText.text = GetLanguageStrById(itemConfigData.ItemDescribe) if equipConfigData.ExhibitionScore and equipConfigData.ExhibitionScore > 0 then self.powerNum.text = equipConfigData.ExhibitionScore else self.powerNum.text = EquipManager.CalculateWarForce(self.equipData.id) end if equipConfigData.Position == 7 or equipConfigData.Position == 8 then SetHeroStars(self.spLoader, self.star, equipConfigData.Star, 1, nil, -15) else EquipManager.SetEquipStarShow(self.spLoader, self.star, equipConfigData.Id) end self.equipType.text = Language[11172] .. GetEquipPosStrByEquipPosNum(equipConfigData.Position) --摘星阁加持 self.hLv.text = "" self.hProLv.text = "" if self.equipData.homeEquipLv and self.equipData.homeEquipLv[1] > 0 then self.hLv.text = self.equipData.homeEquipLv[1] > 0 and self.equipData.homeEquipLv[1] or "" self.hProLv.text = self.equipData.homeEquipLv[2] > 0 and self.equipData.homeEquipLv[2] or "" end --下部按钮信息 self.effectbaijin:SetActive(false) Util.SetParticleSortLayer(self.effectbaijin, self.sortingOrder + 1) if self.openType == 4 then self.powerNumUpDown.gameObject:SetActive(true) local Power = EquipManager.CalculateWarForce(self.equipData.id) local Power2 = EquipManager.CalculateWarForce(self.nextEquip.id) -- LogGreen("Id:"..tostring(self.equipData.id).." Power:"..tostring(Power).." Id2:"..tostring(self.equipData.id).." Power2:"..tostring(Power2)) if (Power > Power2) then self.powerNumUpDown.sprite = self.spLoader:LoadSprite(PowerChangeIconDef[1]) elseif (Power < Power2) then self.powerNumUpDown.sprite = self.spLoader:LoadSprite(PowerChangeIconDef[2]) else self.powerNumUpDown.gameObject:SetActive(false) end else self.powerNumUpDown.gameObject:SetActive(false) end --basePro基础属性 if equipConfigData.Property then self.basePro:SetActive(true) for _, pro in ipairs(_BaseProList) do pro:SetActive(false) end local num = 0 for i = 1, #equipConfigData.Property do local prop = equipConfigData.Property[i] if tonumber(prop[1]) ~= nil then local proConfigData = ConfigManager.GetConfigData(ConfigName.PropertyConfig, prop[1]) if proConfigData then num = num + 1 --基础属性 if not _BaseProList[num] then _BaseProList[num] = newObjToParent(self.baseProPre, self.baseProGrid) end _BaseProList[num]:SetActive(true) if equipConfigData.Position == 7 then _BaseProList[num]:GetComponent("Text").text = Language[12181] .. GetLanguageStrById(proConfigData.Info) else _BaseProList[num]:GetComponent("Text").text = GetLanguageStrById(proConfigData.Info) end local vText = Util.GetGameObject(_BaseProList[num], "curProVale"):GetComponent("Text") vText.gameObject:SetActive(true) -- Util.GetGameObject(vText.gameObject, "homeValue"):GetComponent("Text").text = ""--摘星阁加持文字显示位置 local str = "" if prop[2] > 0 then if equipConfigData.Position == 8 and self.curHeroData then prop[2] = math.floor(prop[2] * (1 + GiftManager.GetPlayerGiftAdd() / 100) + 0.5) vText.text = "+" .. GetPropertyFormatStr(proConfigData.Style, prop[2]) --[[ .. string.format(Language[12182], math.floor(prop[2] * GiftManager.GetPlayerGiftAdd() / 100), GiftManager.GetPlayerGiftAdd()) .. string.format(Language[12183], math.floor(prop[2] * HeroManager.ReturnGiftAtt()), HeroManager.ReturnGiftAtt()) ]] elseif equipConfigData.Position <= 4 and self.curHeroData then -- for k, v in pairs(self.curHeroData.potential) do -- LogError("v======================"..v.." k==="..k) -- end local potencyAdd = HeroManager.GetHeroPotencyAddByTypeAndPotencyData( self.curHeroData.potential, equipConfigData.Position) LogError("potencyAdd============" .. potencyAdd) vText.text = "+" .. GetPropertyFormatStr(proConfigData.Style, prop[2]) .. string.format(Language[12184], math.floor(prop[2] * potencyAdd + 0.5), potencyAdd * 100) else vText.text = "+" .. GetPropertyFormatStr(proConfigData.Style, prop[2]) end else vText.text = GetPropertyFormatStr(proConfigData.Style, prop[2]) end end end end for i = 1, #equipConfigData.PlayerProperty do local prop = equipConfigData.PlayerProperty[i] if tonumber(prop[1]) ~= nil then local proConfigData = ConfigManager.GetConfigData(ConfigName.PropertyConfig, prop[1]) if proConfigData then num = num + 1 --基础属性 if not _BaseProList[num] then _BaseProList[num] = newObjToParent(self.baseProPre, self.baseProGrid) end _BaseProList[num]:SetActive(true) _BaseProList[num]:GetComponent("Text").text = GetLanguageStrById(proConfigData.Info) local vText = Util.GetGameObject(_BaseProList[num], "curProVale"):GetComponent("Text") vText.gameObject:SetActive(true) -- Util.GetGameObject(vText.gameObject, "homeValue"):GetComponent("Text").text = ""--摘星阁加持文字显示位置 if prop[2] > 0 then vText.text = "+" .. GetPropertyFormatStr(proConfigData.Style, prop[2]) else vText.text = GetPropertyFormatStr(proConfigData.Style, prop[2]) end end end end --礼物显示添加潜能等级 if equipConfigData.Position == 7 or equipConfigData.Position == 8 then if equipConfigData.PotentialNew and #equipConfigData.PotentialNew > 0 and type(equipConfigData.PotentialNew[1]) ~= "userdata" then num = num + 1 if not _BaseProList[num] then _BaseProList[num] = newObjToParent(self.baseProPre, self.baseProGrid) end _BaseProList[num]:SetActive(true) Util.GetGameObject(_BaseProList[num], "curProVale").gameObject:SetActive(false) if equipConfigData.Position == 7 then _BaseProList[num]:GetComponent("Text").text = Language[12185] .. equipConfigData.PotentialNew[2] elseif equipConfigData.Position == 8 then _BaseProList[num]:GetComponent("Text").text = Language[12186] .. equipConfigData.PotentialNew[2] end end if equipConfigData.HeroGitUp > 0 then num = num + 1 if not _BaseProList[num] then _BaseProList[num] = newObjToParent(self.baseProPre, self.baseProGrid) end _BaseProList[num]:SetActive(true) Util.GetGameObject(_BaseProList[num], "curProVale").gameObject:SetActive(false) if equipConfigData.Position == 7 then _BaseProList[num]:GetComponent("Text").text = string.format(Language[12187], equipConfigData.HeroGitUp / 100) end end end -- for index, prop in ipairs(equipConfigData.PlayerProperty) do -- LogError("prop[1]=========="..prop[1]) -- if tonumber(prop[1]~=nil) then -- local proConfigData = ConfigManager.GetConfigData(ConfigName.PropertyConfig, prop[1]) -- if proConfigData then -- num = num + 1 -- --基础属性 -- if not _BaseProList[num] then -- _BaseProList[num] = newObjToParent(self.baseProPre, self.baseProGrid) -- end -- _BaseProList[num]:SetActive(true) -- _BaseProList[num]:GetComponent("Text").text = GetLanguageStrById(proConfigData.Info) -- local vText = Util.GetGameObject(_BaseProList[num], "curProVale"):GetComponent("Text") -- -- Util.GetGameObject(vText.gameObject, "homeValue"):GetComponent("Text").text = ""--摘星阁加持文字显示位置 -- if prop[2] > 0 then -- vText.text = "+"..GetPropertyFormatStr(proConfigData.Style, prop[2]) -- else -- vText.text = GetPropertyFormatStr(proConfigData.Style, prop[2]) -- end -- end -- end -- end if equipConfigData.Quality == 6 then local prop = equipConfigData.PropertyMin local proConfigData = ConfigManager.TryGetConfigData(ConfigName.PropertyConfig, prop[1]) if proConfigData then num = num + 1 --基础属性 if not _BaseProList[num] then _BaseProList[num] = newObjToParent(self.baseProPre, self.baseProGrid) end _BaseProList[num]:SetActive(true) _BaseProList[num]:GetComponent("Text").text = GetLanguageStrById(proConfigData.Info) local vText = Util.GetGameObject(_BaseProList[num], "curProVale"):GetComponent("Text") -- Util.GetGameObject(vText.gameObject, "homeValue"):GetComponent("Text").text = ""--摘星阁加持文字显示位置 if prop[2] > 0 then vText.text = "+" .. GetPropertyFormatStr(proConfigData.Style, prop[2]) .. Language[12188] else vText.text = GetPropertyFormatStr(proConfigData.Style, prop[2]) .. Language[12189] end if num == 2 then _BaseProList[num]:SetActive(false) end end end else self.basePro:SetActive(false) end --homePro基础属性 if self.equipData.homeEquipLv and self.equipData.homeEquipLv[1] > 0 and self.curHeroData then self.homePro:SetActive(true) for _, pro in ipairs(_homeProList) do pro:SetActive(false) end if equipConfigData.Property then for index, prop in ipairs(equipConfigData.Property) do local proConfigData = ConfigManager.GetConfigData(ConfigName.PropertyConfig, prop[1]) if proConfigData and proConfigData.Style == 1 then local num = HomeLandManager.LevelToValue(self.equipData.homeEquipLv, self.equipData.position) local power = math.ceil(prop[2] * (num / 10000)) if not _homeProList[index] then _homeProList[index] = newObjToParent(self.homeProPre, self.homeProGrid) end _homeProList[index]:SetActive(true) _homeProList[index]:GetComponent("Text").text = GetLanguageStrById(proConfigData.Info) local sText = Util.GetGameObject(_homeProList[index], "curProVale"):GetComponent("Text") sText.text = "+" .. GetPropertyFormatStr(proConfigData.Style, power) Util.GetGameObject(sText.gameObject, "homeValue"):GetComponent("Text").text = string.format("(%s", num / 100) .. "%)" --摘星阁加持文字显示位置 end end end else self.homePro:SetActive(false) end --suitPro套装属性 --获取装备套装属性 local equipSuite = {} if self.curHeroData and (self.openType == 2 or self.openType == 5) then equipSuite = HeroManager.GetCurHeroEquipSuitPros(self.curHeroData.equipIdList) end --LogError("equipConfigData.Id======"..equipConfigData.Id) local curProSuitConFig = suitConFig[equipConfigData.Star] if suitConFig[equipConfigData.Star] then local suiteValue = curProSuitConFig.SuiteValue if curProSuitConFig and #suiteValue > 0 and tonumber(suiteValue[1][1]) ~= nil then self.suitPro:SetActive(true) for i = 1, math.max(#suiteValue, #_suitProList) do if not _suitProList[i] then _suitProList[i] = newObjToParent(self.suitProPre, self.suitProGrid) end _suitProList[i].gameObject:SetActive(true) end --LogError("suiteValue======================="..#suiteValue) --PrintTable(suiteValue) for i = 1, #suiteValue do _suitProList[i].gameObject:SetActive(true) local name = Util.GetGameObject(_suitProList[i].transform, "proName"):GetComponent("Text") local value = Util.GetGameObject(_suitProList[i].transform, "proVale"):GetComponent("Text") if equipSuite[i] then name.text = string.format("%s+ %s", GetLanguageStrById(propertyConfig[equipSuite[i][2][2]].Info), GetPropertyFormatStr(propertyConfig[equipSuite[i][2][2]].Style, equipSuite[i][2][3])) value.text = string.format("(%s)", GetEquipSuitStr2(equipSuite[i][1], equipSuite[i][2][1])) else --LogError("[suiteValue[i][2]==="..suiteValue[i][2]) --LogError("suiteValue[i][3]=================="..suiteValue[i][3]) if suiteValue[i][2] and suiteValue[i][3] then name.text = string.format("%s+ %s", GetLanguageStrById(propertyConfig[suiteValue[i][2]].Info), GetPropertyFormatStr(propertyConfig[suiteValue[i][2]].Style, suiteValue[i][3])) value.text = string.format("(%s)", GetEquipSuitStr2(equipConfigData.Star, suiteValue[i][1])) end end end else self.suitPro:SetActive(false) end else self.suitPro:SetActive(false) end --super白金套装属性 --获取装备白金套装属性 local equipGoldSuite = {} if self.curHeroData and (self.openType == 2 or self.openType == 5) then equipGoldSuite = HeroManager.GetCurHeroBaiJinEquipSuitPros(self.curHeroData.equipIdList) end LogError("equipConfigData.Star====================" .. equipConfigData.Star) local curGoldSuitConFig = suitConFig[equipConfigData.Star] for k, v in ipairs(_superProList) do v.gameObject:SetActive(false) end local num = 0 if equipConfigData.Quality == 6 then self.superPro:SetActive(false) -- curGoldSuitConFig = suitConFig[18] num = num + 1 if not _superProList[num] then _superProList[num] = newObjToParent(self.superProPre, self.superProGrid) end if num == 1 then _superProList[num].gameObject:SetActive(false) else _superProList[num].gameObject:SetActive(true) end local name = Util.GetGameObject(_superProList[num], "Name"):GetComponent("Text") local value = Util.GetGameObject(_superProList[num], "Name/vale"):GetComponent("Text") name.text = Language[12190] value.text = "" _superProList[num]:GetComponent("Text").enabled = false end if curGoldSuitConFig and curGoldSuitConFig.SuiteSkill ~= nil and tonumber(curGoldSuitConFig.SuiteSkill[1][1]) ~= nil then self.superPro:SetActive(true) if curGoldSuitConFig then local goldSuiteSkill = curGoldSuitConFig.SuiteSkill for i = 1, #goldSuiteSkill do num = num + 1 if not _superProList[num] then _superProList[num] = newObjToParent(self.superProPre, self.superProGrid) end _superProList[num].gameObject:SetActive(true) local go = _superProList[num] go.gameObject:SetActive(true) local name = Util.GetGameObject(go.transform, "Name"):GetComponent("Text") local value = Util.GetGameObject(go.transform, "Name/vale"):GetComponent("Text") name.text = string.format(Language[12191], i) if equipGoldSuite[i] then --value.text = string.format("(%s)",GetEquipSuitStr(equipGoldSuite[i][1],equipGoldSuite[i][2][1])) value.text = GetEquipSuitStr(equipGoldSuite[i][1], equipGoldSuite[i][2][1]) go:GetComponent("Text").text = string.format("%s", GetLanguageStrById(passiveSkillConfig[equipGoldSuite[i][2][2]].Desc)) else --value.text = string.format("(%s)",GetEquipSuitStr(curGoldSuitConFig.Id,goldSuiteSkill[i][1])) --LogError("goldSuiteSkill[i][2]=="..goldSuiteSkill[i][2]) value.text = GetEquipSuitStr(curGoldSuitConFig.Id, goldSuiteSkill[i][1]) if goldSuiteSkill[i][2] then --go:GetComponent("Text").text = string.format("%s",GetLanguageStrById(passiveSkillConfig[goldSuiteSkill[i][2]].Desc)) go:GetComponent("Text").text = GetLanguageStrById(passiveSkillConfig[goldSuiteSkill[i][2]].Desc) end end go:GetComponent("Text").enabled = true end end else self.superPro:SetActive(false) end --获取途径 if self.jumpViewList and #self.jumpViewList > 0 then for i = 1, #self.jumpViewList do SubUIManager.Close(self.jumpViewList[i]) end end local curitemData = itemConfig[tonumber(self.equipData.id)] if curitemData and curitemData.Jump then if curitemData.Jump and #curitemData.Jump > 0 then self.canGetScrollView:SetData(curitemData.Jump, function(index, item) local tempView = nil if self.isShowGo then tempView = SubUIManager.Open(SubUIConfig.JumpView, item.transform, curitemData.Jump[index], true) else tempView = SubUIManager.Open(SubUIConfig.JumpView, item.transform, curitemData.Jump[index], false) end table.insert(self.jumpViewList, tempView) end, true, true) end end --(此处需要三遍才能完全打开) ForceRebuildLayout(self.midBar.transform) ForceRebuildLayout(self.midBar.transform) ForceRebuildLayout(self.midBar.transform) if self.func then self.func() end end --界面关闭时调用(用于子类重写) function RewardEquipSingleShowPopup2:OnClose() for i = 1, #self.jumpViewList do destroy(self.jumpViewList[i].gameObject) end end --界面销毁时调用(用于子类重写) function RewardEquipSingleShowPopup2:OnDestroy() self.spLoader:Destroy() _BaseProList = {} _homeProList = {} _suitProList = {} _superProList = {} self.jumpViewList = {} end return RewardEquipSingleShowPopup2