local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
local equipConfig = ConfigManager.GetConfig(ConfigName.EquipConfig)
local EquipStrengthen = ConfigManager.GetConfig(ConfigName.EquipStrengthen)
local EquipRankUp = ConfigManager.GetConfig(ConfigName.EquipRankUp)
ItemView = {}
function ItemView:New(gameObject)
local b = {}
b.gameObject = gameObject
b.transform = gameObject.transform
setmetatable(b, { __index = ItemView })
return b
end
--初始化组件(用于子类重写)
function ItemView:InitComponent()
self.spLoader = SpriteLoader.New()
self.frameBtn = Util.GetGameObject(self.gameObject, "item/frame")
self.frame = Util.GetGameObject(self.gameObject, "item/frame"):GetComponent("Image")
self.icon = Util.GetGameObject(self.gameObject, "item/icon"):GetComponent("Image")
self.iconGo = Util.GetGameObject(self.gameObject, "item/icon")
self.circleFrameBg = Util.GetGameObject(self.gameObject, "item/circleFrameBg")
self.num = Util.GetGameObject(self.gameObject, "item/num")
self.addImage = Util.GetGameObject(self.gameObject, "item/addImage")
self.redPoint = Util.GetGameObject(self.gameObject, "redPoint")
self.frameMask = Util.GetGameObject(self.gameObject, "item/frameMask")
self.heroShowGo = Util.GetGameObject(self.gameObject, "item/heroShow")
self.starPre = Util.GetGameObject(self.gameObject, "item/heroShow/starPre")
self.starGrid = Util.GetGameObject(self.gameObject, "item/starGameobject")
self.proImage = Util.GetGameObject(self.gameObject, "item/heroShow/proIcon"):GetComponent("Image")
--self.posImage = Util.GetGameObject(self.gameObject, "item/heroShow/posIcon"):GetComponent("Image")
Util.GetGameObject(self.gameObject, "item/heroShow/posIcon"):SetActive(false)
self.name = Util.GetGameObject(self.gameObject, "name")
self.resetLv = Util.GetGameObject(self.gameObject, "item/resetLv")
-- self.upImg = Util.GetGameObject(self.gameObject, "item/upImg")
-- self.upImg:SetActive(false)
self.resetLvText = self.resetLv:GetComponent("Text")
self.rightUplv = Util.GetGameObject(self.gameObject, "item/rightUplv"):GetComponent("Text")
self.middleDownLv = Util.GetGameObject(self.gameObject, "item/middleDownLv")
self.middleDownLvText = Util.GetGameObject(self.middleDownLv, "Text"):GetComponent("Text")
self.item = Util.GetGameObject(self.gameObject, "item")
self.innateImage=Util.GetGameObject(self.gameObject, "item/innateImage")
self.innateText=Util.GetGameObject(self.gameObject, "item/innateImage/Text"):GetComponent("Text")
self.fragmentIcon=Util.GetGameObject(self.gameObject, "item/fragmentIcon")
self.time = Util.GetGameObject(self.gameObject, "item/time")
self.timeTxt = Util.GetGameObject(self.gameObject, "item/time/Text"):GetComponent("Text")
self.homeLv = Util.GetGameObject(self.gameObject, "item/homeLv"):GetComponent("Text")
self.homeProLv = Util.GetGameObject(self.gameObject, "item/homeProLv"):GetComponent("Text")
--self.heroStage=Util.GetGameObject(self.gameObject, "item/heroShow/heroStage"):GetComponent("Image")
Util.GetGameObject(self.gameObject, "item/heroShow/heroStage"):SetActive(false)
--双倍妖晶
self.Double=Util.GetGameObject(self.gameObject, "Double")
self.EffectOrginLayer = 0
self.EffectOrginLayerQu = 0
self.EffectOrginScale = 1
self.EffectOrginScaleQu = 1
self.effectRoot = Util.GetGameObject(self.gameObject, "effects")
self.pokemonEffect = Util.GetGameObject(self.gameObject, "effects/pokemonEffect")
self.pokemonEffectPartical = Util.GetGameObject(self.pokemonEffect, "ziti mask"):GetComponent(typeof(UnityEngine.ParticleSystem))
self.itemEffect = Util.GetGameObject(self.gameObject, "itemEffect")
self.itemEffectPartical = Util.GetGameObject(self.itemEffect, "ziti mask"):GetComponent(typeof(UnityEngine.ParticleSystem))
self.UI_Effect_Kuang_JinSe = Util.GetGameObject(self.gameObject, "effects/UI_Effect_Kuang_JinSe")
self.UI_Effect_Kuang_HongSe = Util.GetGameObject(self.gameObject, "effects/UI_Effect_Kuang_HongSe")
self.UI_Effect_jinkuang_Fang = Util.GetGameObject(self.gameObject, "effects/UI_Effect_jinkuang_Fang")
self.UI_Effect_jinkuang_Yuan = Util.GetGameObject(self.gameObject, "effects/UI_Effect_jinkuang_Yuan")
self.UI_effect_ItemView_saoguang = Util.GetGameObject(self.gameObject, "effects/UI_effect_ItemView_saoguang")
self.UI_effect_WuCai_Kuang = Util.GetGameObject(self.gameObject, "effects/UI_effect_WuCai_Kuang")
self.c_ui_qinyan_duan = Util.GetGameObject(self.gameObject, "effects/c_ui_qinyan_duan")
self:InitFrameEffect()
end
function ItemView:ToEffect(num)
end
--绑定事件(用于子类重写)
function ItemView:BindEvent()
end
--添加事件监听(用于子类重写)
function ItemView:AddListener()
end
--移除事件监听(用于子类重写)
function ItemView:RemoveListener()
end
--isGet 是否获得
--itemDatas 数据
--scale 缩放值
--isShowName 是否显示名字(默认不显示)
--isShowAddImage 是否显示道具不足加号(默认不显示)
--isPlayAnim 是否播放获得动画(默认不播)
--effectLayer 当前界面层级(显示粒子特效用)
--_allData 整个物品的数据(装备、宝物、等等等(目前只有装备))
--界面打开时调用(用于子类重写)
function ItemView:OnOpen(isGet, itemDatas, _scale, isShowName, isShowAddImage, isPlayAnim, effectLayer,Did,_allData)
isShowName = isShowName or false
isShowAddImage = isShowAddImage or false
isPlayAnim = isPlayAnim or false
--isShowLightEffect = isShowLightEffect or false
effectLayer = effectLayer or 0
self.name:SetActive(isShowName)
self.addImage:SetActive(isShowAddImage)
self.gameObject:GetComponent("PlayFlyAnim").enabled = isPlayAnim
self.scale = _scale or 1
self.Did = Did
self.allData = _allData
--self.gameObject:GetComponent("RectTransform").localScale = Vector2.New(scale, scale)
self.gameObject:GetComponent("RectTransform").sizeDelta = Vector2.New(135, 135)
if isGet and itemDatas then
self:GetRewardShow(itemDatas, effectLayer)
elseif isGet == false and itemDatas then
self:NoGetRewardShow(itemDatas, effectLayer, isShowAddImage)
end
-- 重置icon大小
self.icon.transform.sizeDelta = Vector2.New(120, 120)
end
function ItemView:GetRewardShow(_itemData, effectLayer)
self.rightUplv.gameObject:SetActive(false)
self.middleDownLv.gameObject:SetActive(false)
self.isRewardItemPop=true
self.fragmentIcon:SetActive(false)
self.heroShowGo:SetActive(false)
self.starGrid:SetActive(false)
self.redPoint:SetActive(false)
self.num:SetActive(true)
self.addImage:SetActive(false)
self.frameMask:SetActive(false)
self.resetLv:SetActive(false)
self.pokemonEffect:SetActive(false)
self.item:SetActive(true)
self.UI_Effect_Kuang_JinSe:SetActive(false)
self.UI_Effect_Kuang_HongSe:SetActive(false)
self.UI_Effect_jinkuang_Fang:SetActive(false)
self.UI_Effect_jinkuang_Yuan:SetActive(false)
self.UI_effect_ItemView_saoguang:SetActive(false)
self.UI_effect_WuCai_Kuang:SetActive(false)
self.c_ui_qinyan_duan:SetActive(false)
self.frame.sprite = self.spLoader:LoadSprite(_itemData.frame)
self.icon.sprite = self.spLoader:LoadSprite(_itemData.icon)
self.num:GetComponent("Text").text = PrintWanNum2(_itemData.num)
self.innateImage:SetActive(false)
self.iconGo:SetActive(true)
self.circleFrameBg:SetActive(false)
self.time:SetActive(false)
self.homeLv.text = ""
self.homeProLv.text = ""
-- self.upImg:SetActive(false)
self.name:GetComponent("Text").text = GetCutOutStr(GetLanguageStrById( _itemData.configData.Name),4)
Util.AddParticleSortLayer(self.UI_Effect_Kuang_JinSe, effectLayer - self.EffectOrginLayerQu)
Util.AddParticleSortLayer(self.UI_Effect_Kuang_HongSe, effectLayer - self.EffectOrginLayerQu)
Util.AddParticleSortLayer(self.UI_Effect_jinkuang_Fang, effectLayer - self.EffectOrginLayerQu)
Util.AddParticleSortLayer(self.UI_Effect_jinkuang_Yuan, effectLayer - self.EffectOrginLayerQu)
Util.AddParticleSortLayer(self.UI_effect_ItemView_saoguang, effectLayer - self.EffectOrginLayerQu)
Util.AddParticleSortLayer(self.UI_effect_WuCai_Kuang, effectLayer - self.EffectOrginLayerQu)
Util.AddParticleSortLayer(self.c_ui_qinyan_duan, effectLayer - self.EffectOrginLayerQu)
self.EffectOrginLayerQu = effectLayer
Util.GetGameObject(self.UI_effect_ItemView_saoguang, "saoguang"):GetComponent("RectTransform").localScale =
Vector2.New(self.scale * 0.48,self.scale * 0.48)
--Util.SetParticleScale(self.UI_Effect_SaoGuang, 0.5 / self.EffectOrginScale)
self.EffectOrginScale = self.scale
-- 卸载头像框特效
self:UnLoadFrameEffect()
-- LogGreen("itemType:"..tostring(_itemData.itemType).." Name:"..tostring(_itemData.configData.Name).." 数量:"..tostring(_itemData.num))
if _itemData.itemType == 1 or _itemData.itemType == 0 then--物品
--item
if effectLayer > 0 and _itemData.configData.Quantity1 then
self.UI_Effect_Kuang_JinSe:SetActive(_itemData.configData.Quantity1 == 5)
self.UI_Effect_Kuang_HongSe:SetActive(_itemData.configData.Quantity1 == 6)
self.UI_effect_WuCai_Kuang:SetActive(_itemData.configData.Quantity1 == 7)
self.c_ui_qinyan_duan:SetActive(_itemData.configData.Quantity1 == 8)
end
if _itemData.configData == nil then
_itemData.configData = _itemData.itemConfig
_itemData.backData = _itemData.itembackData
end
if _itemData.configData.ItemType == ItemType.HeroDebris
or _itemData.configData.ItemType ==ItemType.LingShouChip
or _itemData.configData.ItemType == ItemType.EquipChip
or _itemData.configData.ItemType == ItemType.GodWeaponChip
or _itemData.configData.ItemType == ItemType.CommonChip then
--角色碎片
self.frameMask:SetActive(true)
self.frameMask:GetComponent("Image").sprite = self.spLoader:LoadSprite(GetHeroChipQuantityImageByquality(_itemData.configData.Quantity))
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, _itemData.backData.itemId,nil,self.isRewardItemPop)
end)
local propertyName=itemConfig[_itemData.backData.itemId].PropertyName
if(propertyName~=0) then
self.fragmentIcon:SetActive(true)
self.fragmentIcon:GetComponent("Image").sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(propertyName))
end
elseif _itemData.configData.ItemType == ItemType.Pokemon then
--异妖配件
--self.item:SetActive(false)
--self.pokemonEffect:SetActive(true)
--Util.AddParticleSortLayer(self.pokemonEffect, effectLayer - self.EffectOrginLayer)
--self.EffectOrginLayer = effectLayer
--self.pokemonNum:GetComponent("Text").text = _itemData.num
--self.pokemonFrame:SetActive(true)
--self.pokemonFrame:GetComponent("Image").sprite = self.spLoader:LoadSprite(YaoHunFrame[_itemData.configData.Quantity])--_itemData.quality
--self.pokemonImage.sprite = self.spLoader:LoadSprite(_itemData.icon)
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, _itemData.backData.itemId,nil,self.isRewardItemPop)
end)
if effectLayer > 0 and _itemData.configData.Quantity1 then
self.UI_Effect_Kuang_JinSe:SetActive(_itemData.configData.Quantity1 == 5)
self.UI_Effect_Kuang_HongSe:SetActive(_itemData.configData.Quantity1 == 6)
self.UI_effect_WuCai_Kuang:SetActive(_itemData.configData.Quantity1 == 7)
end
elseif _itemData.configData.ItemType == ItemType.TalentItem then
--天赋材料
if _itemData.configData.RingLevel > 0 then
self.innateImage:SetActive(true)
self.innateText.text ="+".._itemData.configData.RingLevel
else
self.innateImage:SetActive(false)
self.innateText.text =""
end
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, _itemData.backData.itemId,nil,self.isRewardItemPop)
end)
elseif _itemData.configData.ItemType == ItemType.Equip then
--装备
self.num:SetActive(_itemData.num > 1)
self.num:GetComponent("Text").text =PrintWanNum2(_itemData.num)
self.name:GetComponent("Text").text =GetCutOutStr(GetLanguageStrById( _itemData.configData.Name),5)
self.starGrid:SetActive(true)
EquipManager.SetEquipStarShow(self.spLoader, self.starGrid, _itemData.configData.Id)
Util.AddOnceClick(self.frameBtn, function()
_itemData.id = _itemData.configData.Id
-- UIManager.OpenPanel(UIName.RewardEquipSingleShowPopup, _itemData,nil,self.isRewardItemPop)
UIManager.OpenPanel(UIName.RewardEquipSingleShowPopup2,self, _itemData,0,true,true,nil)
end)
if effectLayer > 0 and _itemData.configData.Quantity1 then
self.UI_Effect_Kuang_JinSe:SetActive(_itemData.configData.Quantity1 == 5 or _itemData.configData.Quantity1 == 4)
self.UI_Effect_Kuang_HongSe:SetActive(_itemData.configData.Quantity1 == 6)
self.UI_effect_WuCai_Kuang:SetActive(_itemData.configData.Quantity1 == 7)
self.c_ui_qinyan_duan:SetActive(_itemData.configData.Quantity1 == 8)
end
--摘星阁加成
if self.allData and self.allData.homeEquipLv and self.allData.homeEquipLv[1] > 0 then
self.homeLv.text = self.allData.homeEquipLv[1] > 0 and self.allData.homeEquipLv[1] or ""
self.homeProLv.text = self.allData.homeEquipLv[2] > 0 and self.allData.homeEquipLv[2] or ""
end
elseif _itemData.configData.ItemType == ItemType.Blueprint then
local lanTuData = WorkShopManager.GetLanTuIsOpenLock(_itemData.backData.itemId)
if lanTuData then
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.WorkShopArmorOnePanel,3,3, lanTuData[2])
end)
end
--魂印
elseif _itemData.configData.ItemType == ItemType.HunYin then
if effectLayer > 0 and _itemData.configData.Quantity1 then
-- self.UI_Effect_jinkuang_Fang:SetActive(_itemData.configData.Quantity == 7)
-- self.UI_Effect_jinkuang_Yuan:SetActive(_itemData.configData.Quantity == 7)
-- self.UI_Effect_Kuang_JinSe:SetActive(not (_itemData.configData.Quantity == 7))
-- self.UI_Effect_jinkuang_Fang:SetActive(false)
-- self.UI_Effect_jinkuang_Yuan:SetActive(false)
self.UI_Effect_Kuang_JinSe:SetActive(_itemData.configData.Quantity1 == 5)
self.UI_Effect_Kuang_HongSe:SetActive(_itemData.configData.Quantity1 == 6)
self.UI_effect_WuCai_Kuang:SetActive(_itemData.configData.Quantity1 == 7 or _itemData.configData.Quantity1 == 8)
end
self.iconGo:SetActive(false)
self.circleFrameBg:SetActive(true)
self.circleFrameBg:GetComponent("Image").sprite=self.spLoader:LoadSprite(SoulPrintSpriteByQuantity[_itemData.configData.Quantity].circleBg2)
Util.GetGameObject(self.circleFrameBg,"Icon"):GetComponent("Image").sprite=self.spLoader:LoadSprite(_itemData.icon)
Util.GetGameObject(self.circleFrameBg,"circleFrame"):GetComponent("Image").sprite=self.spLoader:LoadSprite(SoulPrintSpriteByQuantity[_itemData.configData.Quantity].circle)
Util.AddOnceClick(self.frameBtn, function()
--所有的魂印打开都用这个界面
UIManager.OpenPanel(UIName.SoulPrintPopUp, ShowType.showTip3, nil,_itemData.backData.itemId)
end)
elseif _itemData.configData.ItemType == ItemType.heroDogFood then --狗粮
--狗粮
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, _itemData.backData.itemId,nil,self.isRewardItemPop)
end)
self.heroShowGo:SetActive(true)
local propertyName=itemConfig[_itemData.backData.itemId].PropertyName
if(propertyName~=0) then
self.proImage.gameObject:SetActive(true)
self.proImage.sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(propertyName))
else
self.proImage.gameObject:SetActive(false)
end
self.starGrid:SetActive(true)
local star = _itemData.configData.HeroStar[1]
SetHeroStars(self.spLoader,self.starGrid, star,1,Vector2.New(32.5,32.5),-15)
elseif _itemData.configData.ItemType == ItemType.talismanSoulChip then
self.num:SetActive(true)
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[_itemData.backData.itemId].Quantity))
self.frameMask:SetActive(true)
self.frameMask:GetComponent("Image").sprite = self.spLoader:LoadSprite("f_fabaojuling_zijiemianfabaokuang1")
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[_itemData.backData.itemId].ResourceID))
self.starGrid:SetActive(false)
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup,_itemData.backData.itemId,nil,self.isRewardItemPop,true)
end)
elseif _itemData.configData.ItemType == ItemType.Gem then
if _itemData.isReplace then
-- self.upImg:SetActive(true)
end
if _itemData.backData.isReplace then
-- self.upImg:SetActive(true)
end
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardGemSingleShowPopup, _itemData.backData.itemId,3)
end)
elseif _itemData.configData.ItemType == ItemType.TimeIsGold then
-- 挂机奖励
self.num:SetActive(true)
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[ _itemData.backData.itemId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[ _itemData.backData.itemId].ResourceID))
local useGain = itemConfig[_itemData.backData.itemId].UseGain
if useGain and useGain[1] and useGain[1][2] then
local mins = useGain[1][2]
local hours = math.floor(mins/60)
self.time.gameObject:SetActive(true)
self.timeTxt.text= hours .. "小时"
end
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, _itemData.backData.itemId,nil,self.isRewardItemPop)
end)
else
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, _itemData.backData.itemId,nil,self.isRewardItemPop)
end)
end
elseif _itemData.itemType == 2 then
--equip
self.num:SetActive(_itemData.num > 1)
self.num:GetComponent("Text").text =PrintWanNum2(_itemData.num)
self.name:GetComponent("Text").text = GetCutOutStr(GetLanguageStrById(_itemData.configData.Name),5)
self.starGrid:SetActive(true)
EquipManager.SetEquipStarShow(self.spLoader, self.starGrid, _itemData.configData.Id)
Util.AddOnceClick(self.frameBtn, function()
--Log("self.isRewardItemPop "..tostring(self.isRewardItemPop))
-- UIManager.OpenPanel(UIName.RewardEquipSingleShowPopup, _itemData.backData,nil,self.isRewardItemPop)
UIManager.OpenPanel(UIName.RewardEquipSingleShowPopup2,self, _itemData,0,true,true,nil)
end)
if effectLayer > 0 and _itemData.configData.Quantity1 then
self.UI_Effect_Kuang_JinSe:SetActive(_itemData.configData.Quantity1 == 5 or _itemData.configData.Quantity1 == 4)
self.UI_Effect_Kuang_HongSe:SetActive(_itemData.configData.Quantity1 == 6)
self.UI_effect_WuCai_Kuang:SetActive(_itemData.configData.Quantity1 == 7)
end
elseif _itemData.itemType == 3 then --装备
--hero
self.num:SetActive(false)
self.name:GetComponent("Text").text = GetCutOutStr(GetLanguageStrById(_itemData.configData.ReadingName),5)
self.heroShowGo:SetActive(true)
self.starGrid:SetActive(true)
SetHeroStars(self.spLoader, self.starGrid, _itemData.backData.star,1,Vector2.New(32.5,32.5),-15)
self.proImage.sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(_itemData.configData.PropertyName))
--self.posImage.sprite = self.spLoader:LoadSprite(GetJobSpriteStrByJobNum(_itemData.configData.Profession))
--self.heroStage.sprite = self.spLoader:LoadSprite(HeroStageSprite[_itemData.configData.HeroStage])
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RoleGetInfoPopup, true, _itemData.backData)
end)
if effectLayer > 0 then
self.UI_Effect_Kuang_JinSe:SetActive(_itemData.configData.Star == 5)
self.UI_Effect_Kuang_HongSe:SetActive(_itemData.configData.Star == 6)
self.UI_effect_WuCai_Kuang:SetActive(_itemData.configData.Star == 7)
self.c_ui_qinyan_duan:SetActive(_itemData.configData.Quantity1 == 8)
end
--摘星阁加成
if self.allData and self.allData.homeEquipLv and self.allData.homeEquipLv[1] > 0 then
self.homeLv.text = self.allData.homeEquipLv[1] > 0 and self.allData.homeEquipLv[1] or ""
self.homeProLv.text = self.allData.homeEquipLv[2] > 0 and self.allData.homeEquipLv[2] or ""
end
elseif _itemData.itemType == 4 then
--法宝
self.num:SetActive(false)
self.name:GetComponent("Text").text = GetCutOutStr(_itemData.name,5)
self.starGrid:SetActive(true)
SetHeroStars(self.spLoader, self.starGrid, _itemData.backData.rebuildLevel,1,Vector2.New(32.5,32.5),-15)
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardTalismanSingleShowPopup,2,_itemData.backData.id,_itemData.backData.equipId,_itemData.backData.exp,_itemData.backData.rebuildLevel,0)
end)
if effectLayer > 0 and _itemData.configData.Quantity1 then
self.UI_Effect_Kuang_JinSe:SetActive(_itemData.configData.Quantity1 == 5)
self.UI_Effect_Kuang_HongSe:SetActive(_itemData.configData.Quantity1 == 6)
self.UI_effect_WuCai_Kuang:SetActive(_itemData.configData.Quantity1 == 7)
end
elseif _itemData.itemType == 5 then
self.num:SetActive(false)
self.name:GetComponent("Text").text = GetCutOutStr(_itemData.name,5)
--self.resetLv:GetComponent("Text").text = "+" .._itemData.lv.." ".._itemData.refineLv
self.resetLv:SetActive(false)
self.fragmentIcon:SetActive(true)
self.fragmentIcon:GetComponent("Image").sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(_itemData.configData.PropertyName))
Util.AddOnceClick(self.frameBtn, function()
-- UIManager.OpenPanel(UIName.RewardSoulPrintSingleShowPopup,0, _itemData.backData.id, function()
-- end)
--UIManager.OpenPanel(UIName.SoulPrintPopUp,0,nil,_itemData.backData.id,nil,nil)
UIManager.OpenPanel(UIName.RewardTalismanSingleShowPopup, 0, _itemData.backData.id,_itemData.backData.equipId, 0,0,0)
end)
elseif _itemData.itemType == 6 then
self.num:SetActive(false)
local str = ""
if _itemData.name and _itemData.name ~= "" then
str = _itemData.name
elseif _itemData.configData then
str = _itemData.configData.Name
end
self.name:GetComponent("Text").text = GetCutOutStr(str,5)
-- self.resetLv:GetComponent("Text").text = "+" ..1
self.resetLv:SetActive(false)
self.fragmentIcon:SetActive(false)
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.PokemonGetInfoPopup, true,_itemData.backData)
end)
elseif _itemData.ItemType == ItemType.HeadFrame then
self.UI_Effect_Kuang_JinSe:SetActive(false)
self.UI_Effect_Kuang_HongSe:SetActive(false)
self.UI_effect_WuCai_Kuang:SetActive(false)
-- 显示头像框特效
local effectRoot = Util.GetGameObject(self.gameObject, "effects")
self:LoadFrameEffect(itemDataConFig.Id, effectRoot)
self:SetFrameEffectLayer(effectLayer)
self:SetFrameEffectScale(self.scale * 0.7)
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, _itemData.backData.itemId,nil,self.isRewardItemPop)
end)
elseif _itemData.itemType == ItemType.LingShou then
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.PokemonGetInfoPopup, true, _itemData.backData)
end)
elseif _itemData.itemType == ItemType.GodWeapon then
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.GodWeaponGetInfoPopup, false, _itemData.backData.itemId)
end)
elseif _itemData.ItemType == ItemType.Incarnation then--化身卡
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[ _itemData.backData.itemId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[ _itemData.backData.itemId].ResourceID))
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardTailsmanChipShowPopup, _itemData.backData.itemId, nil)
end)
elseif _itemData.ItemType == ItemType.Ride then--坐骑
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardRideShowPopup, _itemData.backData.itemId,nil)
end)
elseif _itemData.ItemType == ItemType.Gem then
if _itemData.isReplace then
self.upImg:SetActive(true)
end
if effectLayer > 0 and _itemData.configData.Quantity1 then
self.UI_Effect_Kuang_JinSe:SetActive(_itemData.configData.Quantity1 == 5 or _itemData.configData.Quantity1 == 4)
self.UI_Effect_Kuang_HongSe:SetActive(_itemData.configData.Quantity1 == 6)
self.UI_effect_WuCai_Kuang:SetActive(_itemData.configData.Quantity1 == 7)
end
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardGemSingleShowPopup, _itemData,3)
end)
elseif _itemData.ItemType == ItemType.likeabilityItemChip or _itemData.ItemType == ItemType.EquipChip then
self.fragmentIcon:SetActive(true)
if itemConfig[itemSId].PropertyName > 0 then
self.fragmentIcon.gameObject:SetActive(true)
self.fragmentIcon:GetComponent("Image").sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(itemConfig[itemSId].PropertyName))
else
self.fragmentIcon.gameObject:SetActive(false)
end
self.frameMask:SetActive(true)
self.frameMask:GetComponent("Image").sprite = self.spLoader:LoadSprite(GetHeroChipQuantityImageByquality(itemConfig[itemSId].Quantity))
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId,nil,self.isRewardItemPop,true)
end)
end
self.gameObject:GetComponent("RectTransform").localScale = Vector3.New(self.scale, self.scale,1)
end
function ItemView:SetEffectLayer(effectLayer)
Util.AddParticleSortLayer(self.UI_Effect_Kuang_JinSe, effectLayer - self.EffectOrginLayerQu)
Util.AddParticleSortLayer(self.UI_Effect_jinkuang_Yuan, effectLayer - self.EffectOrginLayerQu)
Util.AddParticleSortLayer(self.UI_Effect_jinkuang_Fang, effectLayer - self.EffectOrginLayerQu)
Util.AddParticleSortLayer(self.UI_Effect_Kuang_HongSe, effectLayer - self.EffectOrginLayerQu)
Util.AddParticleSortLayer(self.UI_effect_ItemView_saoguang, effectLayer - self.EffectOrginLayerQu)
Util.AddParticleSortLayer(self.UI_effect_WuCai_Kuang, effectLayer - self.EffectOrginLayerQu)
Util.AddParticleSortLayer(self.c_ui_qinyan_duan,effectLayer-self.EffectOrginLayerQu)
Util.SetParticleSortLayer(self.starGrid,effectLayer + 1)
self:SetFrameEffectLayer(effectLayer)
self.EffectOrginLayerQu = effectLayer
end
function ItemView:SetEffectShow(isShow)
self.effectRoot:SetActive(isShow)
end
function ItemView:SetNumShow(isShow)
self.num:SetActive(isShow)
end
function ItemView:NoGetRewardShow(_reward, effectLayer, isShowAddImage)
self.isRewardItemPop=false
local itemSId = tonumber(_reward[1])
local itemNum = tonumber(_reward[2]) or 0
self.Double:SetActive((_reward[3] and _reward[3] == 2) and true or false)
local itemDataConFig = ConfigManager.GetConfigData(ConfigName.ItemConfig, itemSId)
self.fragmentIcon:SetActive(false)
self.heroShowGo:SetActive(false)
self.starGrid:SetActive(false)
self.redPoint:SetActive(false)
self.num:SetActive(true)
self.frameMask:SetActive(false)
self.resetLv:SetActive(false)
self.pokemonEffect:SetActive(false)
self.item:SetActive(true)
self.name:GetComponent("Text").text = GetCutOutStr(GetLanguageStrById(itemDataConFig.Name),5)
self.innateImage:SetActive(false)
self.UI_Effect_Kuang_JinSe:SetActive(false)
self.UI_Effect_Kuang_HongSe:SetActive(false)
self.UI_Effect_jinkuang_Fang:SetActive(false)
self.UI_Effect_jinkuang_Yuan:SetActive(false)
self.UI_effect_ItemView_saoguang:SetActive(false)
self.UI_effect_WuCai_Kuang:SetActive(false)
self.c_ui_qinyan_duan:SetActive(false)
self.rightUplv.gameObject:SetActive(false)
self.middleDownLv.gameObject:SetActive(false)
self.iconGo:SetActive(true)
self.circleFrameBg:SetActive(false)
self.time:SetActive(false)
self.homeLv.text = ""
self.homeProLv.text = ""
Util.AddParticleSortLayer(self.UI_Effect_Kuang_JinSe, effectLayer - self.EffectOrginLayerQu)
Util.AddParticleSortLayer(self.UI_Effect_Kuang_HongSe, effectLayer - self.EffectOrginLayerQu)
Util.AddParticleSortLayer(self.UI_Effect_jinkuang_Fang, effectLayer - self.EffectOrginLayerQu )
Util.AddParticleSortLayer(self.UI_Effect_jinkuang_Yuan, effectLayer - self.EffectOrginLayerQu )
Util.AddParticleSortLayer(self.UI_effect_ItemView_saoguang, effectLayer - self.EffectOrginLayerQu)
Util.AddParticleSortLayer(self.UI_effect_WuCai_Kuang, effectLayer - self.EffectOrginLayerQu)
Util.AddParticleSortLayer(self.c_ui_qinyan_duan, effectLayer - self.EffectOrginLayerQu)
self.EffectOrginLayerQu = effectLayer
Util.GetGameObject(self.UI_effect_ItemView_saoguang, "saoguang"):GetComponent("RectTransform").localScale =
Vector2.New(self.scale * 0.48,self.scale * 0.48)
--Util.SetParticleScale(self.UI_Effect_SaoGuang, self.scale / self.EffectOrginScale)
self.EffectOrginScale = self.scale
-- 卸载头像框特效
self:UnLoadFrameEffect()
if effectLayer > 0 and itemDataConFig.Quantity1 then
self.UI_Effect_Kuang_JinSe:SetActive(itemDataConFig.Quantity1 == 5)
self.UI_Effect_Kuang_HongSe:SetActive(itemDataConFig.Quantity1 == 6)
self.UI_effect_WuCai_Kuang:SetActive((itemDataConFig.Quantity1 == 7) or (_reward[3] and _reward[3] == 999))
end
if itemDataConFig.ItemType == ItemType.NoType then
--0无特殊分类
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId,nil,self.isRewardItemPop,true)
end)
elseif itemDataConFig.ItemType == ItemType.likeabilityItem then
self.fragmentIcon:SetActive(true)
if itemConfig[itemSId].PropertyName > 0 then
self.fragmentIcon.gameObject:SetActive(true)
self.fragmentIcon:GetComponent("Image").sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(itemConfig[itemSId].PropertyName))
else
self.fragmentIcon.gameObject:SetActive(false)
end
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId,nil,self.isRewardItemPop,true)
end)
elseif itemDataConFig.ItemType == ItemType.Hero then
-- 1角色
local heroConfigData = ConfigManager.GetConfigData(ConfigName.HeroConfig, itemConfig[itemSId].HeroStar[1])
self.heroShowGo:SetActive(true)
self.starGrid:SetActive(true)
self.num:SetActive(itemNum > 1)
self.num:GetComponent("Text").text = PrintWanNum(itemNum)
--Util.ClearChild(self.starGrid.transform)
local star = _reward[4] --or itemConfig[itemSId].HeroStar[2]
--GetHeroQuantityImageByquality(heroConfigData.Quality,star)
local frameName=""
if _reward[5] then
frameName=GetHeroQuantityImageByquality(heroConfigData.Quality,star)
else
frameName=GetHeroQuantityImageByHeroNatural(heroConfigData.Natural)
end
self.frame.sprite = self.spLoader:LoadSprite(frameName)
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(heroConfigData.Icon))
self.proImage.sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(heroConfigData.PropertyName))
--self.posImage.sprite = self.spLoader:LoadSprite(GetJobSpriteStrByJobNum(heroConfigData.Profession))
--self.heroStage.sprite = self.spLoader:LoadSprite(HeroStageSprite[heroConfigData.HeroStage])
self.name:GetComponent("Text").text = GetCutOutStr(GetLanguageStrById(heroConfigData.ReadingName),5)
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RoleGetInfoPopup, false, heroConfigData.Id,heroConfigData.MaxRank)
end)
local did = _reward[5] or nil
local starType = 1
local tempHero = nil
if did then
tempHero = HeroManager.GetSingleHeroData(did)
star,starType = tempHero.GetStar(1)
end
if star==nil then
star=itemConfig[itemSId].HeroStar[2]
end
SetHeroStars(self.spLoader, self.starGrid, star,starType,nil,-15)
if effectLayer > 0 then
if tempHero then
SetHeroFlyEffect(self.heroShowGo,self.spLoader,tempHero.star,effectLayer+1,0.95,2)
end
Util.SetParticleSortLayer(self.starGrid,effectLayer + 1)
self.UI_Effect_Kuang_JinSe:SetActive(heroConfigData.Star == 5)
self.UI_Effect_Kuang_HongSe:SetActive(heroConfigData.Star == 6)
self.UI_effect_WuCai_Kuang:SetActive(heroConfigData.Quantity == 7)
end
elseif itemDataConFig.ItemType == ItemType.HeroDebris
or itemDataConFig.ItemType==ItemType.LingShouChip
or itemDataConFig.ItemType==ItemType.GodWeaponChip
or itemDataConFig.ItemType == ItemType.CommonChip then
--2角色碎片
self.frameMask:SetActive(true)
self.frameMask:GetComponent("Image").sprite = self.spLoader:LoadSprite(GetHeroChipQuantityImageByquality(itemConfig[itemSId].Quantity))
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
local propertyName=itemConfig[itemSId].PropertyName
if(propertyName~=0) then
self.fragmentIcon:SetActive(true)
self.fragmentIcon:GetComponent("Image").sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(propertyName))
end
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId,nil,self.isRewardItemPop,true)
end)
elseif itemDataConFig.ItemType == ItemType.Equip then
--3装备
self.num:SetActive(itemNum and itemNum > 1)
self.num:GetComponent("Text").text = PrintWanNum(itemNum and itemNum or 0)
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
self.starGrid:SetActive(true)
EquipManager.SetEquipStarShow(self.spLoader, self.starGrid,itemSId)
if effectLayer > 0 and itemDataConFig.Quantity1 then
self.UI_Effect_Kuang_JinSe:SetActive(itemDataConFig.Quantity1 == 5 or itemDataConFig.Quantity1 == 4)
self.UI_Effect_Kuang_HongSe:SetActive(itemDataConFig.Quantity1 == 6)
self.UI_effect_WuCai_Kuang:SetActive(itemDataConFig.Quantity1 == 7)
self.c_ui_qinyan_duan:SetActive(itemDataConFig.Quantity1 == 8)
end
Util.AddOnceClick(self.frameBtn, function()
-- UIManager.OpenPanel(UIName.HandBookEquipInfoPanel, itemSId)
local _itemData = {}
_itemData.id = itemSId
-- UIManager.OpenPanel(UIName.RoleEquipChangePopup, nil, 4, nil, _itemData, nil, nil)
UIManager.OpenPanel(UIName.RewardEquipSingleShowPopup2,self, _itemData,0,true,true,nil)
end)
--摘星阁加成
if self.allData and self.allData.homeEquipLv and self.allData.homeEquipLv[1] and self.allData.homeEquipLv[1] > 0 then
self.homeLv.text = self.allData.homeEquipLv[1] > 0 and self.allData.homeEquipLv[1] or ""
self.homeProLv.text = self.allData.homeEquipLv[2] > 0 and self.allData.homeEquipLv[2] or ""
end
elseif itemDataConFig.ItemType == ItemType.Pokemon then
--异妖配件
--self.item:SetActive(false)
--self.pokemonEffect:SetActive(true)
--Util.AddParticleSortLayer(self.pokemonEffect, effectLayer - self.EffectOrginLayer)
--self.EffectOrginLayer = effectLayer
self.frame.sprite = self.spLoader:LoadSprite(YaoHunFrame[itemConfig[itemSId].Quantity])
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
--self.pokemonFrame:GetComponent("Image").sprite = self.spLoader:LoadSprite(YaoHunFrame[itemConfig[itemSId].Quantity])
--self.pokemonImage.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId,nil,self.isRewardItemPop,true)
end)
if effectLayer > 0 and itemConfig[itemSId].Quantity1 then
self.UI_Effect_Kuang_JinSe:SetActive(itemConfig[itemSId].Quantity1 == 5)
self.UI_Effect_Kuang_HongSe:SetActive(itemConfig[itemSId].Quantity1 == 6)
self.UI_effect_WuCai_Kuang:SetActive(itemConfig[itemSId].Quantity1 == 7)
end
elseif itemDataConFig.ItemType == ItemType.Blueprint then
--蓝图
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
local lanTuData = WorkShopManager.GetLanTuIsOpenLock(itemSId)
if lanTuData then
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.WorkShopArmorOnePanel,3,3, lanTuData[2])
end)
end
elseif itemDataConFig.ItemType == ItemType.TalentItem then
--天赋材料
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId,nil,self.isRewardItemPop,true)
end)
if itemDataConFig.RingLevel > 0 then
self.innateImage:SetActive(true)
self.innateText.text = "+" .. itemDataConFig.RingLevel
else
self.innateImage:SetActive(false)
self.innateText.text = ""
end
if effectLayer > 0 and itemDataConFig.Quantity1 then
self.UI_Effect_Kuang_JinSe:SetActive(itemDataConFig.Quantity1 == 5)
self.UI_Effect_Kuang_HongSe:SetActive(itemDataConFig.Quantity1 == 6)
self.UI_effect_WuCai_Kuang:SetActive(itemDataConFig.Quantity1 == 7)
end
elseif itemDataConFig.ItemType == ItemType.Talisman then
--法宝
Log("法宝 "..itemSId)
self.num:SetActive(itemNum and itemNum > 1)
--self.num:GetComponent("Text").text = PrintWanNum(itemNum and itemNum or 0)
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
self.starGrid:SetActive(true)
--TalismanManager.AllTalismanStartStar[itemSId]
SetHeroStars(self.spLoader, self.starGrid, 0,1,Vector2.New(32.5,32.5),-15)
Util.AddOnceClick(self.frameBtn, function()
--UIManager.OpenPanel(UIName.RewardTalismanSingleShowPopup,2,"",itemSId,0,0,0)
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup,itemSId,nil,self.isRewardItemPop,true)
end)
elseif itemDataConFig.ItemType == ItemType.talismanSoulChip then
self.num:SetActive(true)
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.frameMask:SetActive(true)
self.frameMask:GetComponent("Image").sprite = self.spLoader:LoadSprite("f_fabaojuling_zijiemianfabaokuang1")
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
self.starGrid:SetActive(false)
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup,itemSId,nil,self.isRewardItemPop,true)
end)
elseif itemDataConFig.ItemType == ItemType.HunYin then
-- self.UI_Effect_jinkuang_Fang:SetActive(itemConfig[itemSId].Quantity>=7)
-- self.UI_Effect_jinkuang_Yuan:SetActive(itemConfig[itemSId].Quantity>=7)
-- self.UI_Effect_Kuang_JinSe:SetActive(not (itemConfig[itemSId].Quantity>=7))
-- self.UI_Effect_jinkuang_Fang:SetActive(false)
-- self.UI_Effect_jinkuang_Yuan:SetActive(false)
-- self.UI_Effect_Kuang_JinSe:SetActive(true)
if effectLayer > 0 and itemConfig[itemSId].Quantity1 then
self.UI_Effect_Kuang_JinSe:SetActive(itemConfig[itemSId].Quantity1 == 5)
self.UI_Effect_Kuang_HongSe:SetActive(itemConfig[itemSId].Quantity1 == 6)
self.UI_effect_WuCai_Kuang:SetActive(itemConfig[itemSId].Quantity1 == 7 or itemConfig[itemSId].Quantity1 == 8 )
end
self.num:SetActive(true)
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.iconGo:SetActive(false)
self.circleFrameBg:SetActive(true)
self.circleFrameBg:GetComponent("Image").sprite=self.spLoader:LoadSprite(SoulPrintSpriteByQuantity[itemConfig[itemSId].Quantity].circleBg2)
Util.GetGameObject(self.circleFrameBg,"Icon"):GetComponent("Image").sprite=self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
Util.GetGameObject(self.circleFrameBg,"circleFrame"):GetComponent("Image").sprite=self.spLoader:LoadSprite(SoulPrintSpriteByQuantity[itemConfig[itemSId].Quantity].circle)
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.SoulPrintPopUp,0,nil,itemSId,nil,nil)
end)
elseif itemDataConFig.ItemType == ItemType.EquipTreasure then
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
self.fragmentIcon:SetActive(true)
self.fragmentIcon:GetComponent("Image").sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(itemConfig[itemSId].PropertyName))
if not self.Did then
self.rightUplv.gameObject:SetActive(false)
self.middleDownLv.gameObject:SetActive(false)
self.resetLv.gameObject:SetActive(false)
else
local data = EquipTreasureManager.GetSingleTreasureByIdDyn(self.Did)
if not data then
data = MonsterCampManager.GetSingleTreasureByIdDyn(self.Did)
end
if not data then
data = ExpeditionManager.GetSingleTreasureByIdDyn(self.Did)
end
if not data then
data = GoodFriendManager.GetSingleTreasureByIdDyn(self.Did)
end
if not data then
self.rightUplv.gameObject:SetActive(false)
self.middleDownLv.gameObject:SetActive(false)
self.resetLv.gameObject:SetActive(false)
else
if data.lv > 0 then
self.rightUplv.gameObject:SetActive(true)
self.rightUplv.text = string.format("%s",data.lv)
else
self.rightUplv.gameObject:SetActive(false)
end
if data.refineLv > 0 then
self.resetLv.gameObject:SetActive(true)
self.resetLvText.text =string.format("+%s", data.refineLv)
else
self.resetLv.gameObject:SetActive(false)
end
if data.treeLv > 0 then
self.middleDownLv.gameObject:SetActive(true)
local lv = data.treeLv
if data.treeLv > data.maxTreeLv then
lv = data.maxTreeLv
end
self.middleDownLvText.text =string.format("%s", lv)
else
self.middleDownLv.gameObject:SetActive(false)
end
end
end
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardTalismanSingleShowPopup,2,"",itemSId,0,0,0)
end)
elseif itemDataConFig.ItemType == ItemType.FaXiang then
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
if not self.Did then
self.rightUplv.gameObject:SetActive(false)
self.middleDownLv.gameObject:SetActive(false)
self.resetLv.gameObject:SetActive(false)
else
local data = FaXiangManager.GetSingleTreasureByIdDyn(self.Did)
if not data then
data = MonsterCampManager.GetSingleFaXiangByIdDyn(self.Did)
end
if not data then
data = ExpeditionManager.GetSingleTreasureByIdDyn(self.Did)
end
if not data then
data = GoodFriendManager.GetSingleFaXiangByIdDyn(self.Did)
end
if not data then
self.rightUplv.gameObject:SetActive(false)
self.middleDownLv.gameObject:SetActive(false)
self.resetLv.gameObject:SetActive(false)
else
if data.lv > 0 then
self.rightUplv.gameObject:SetActive(true)
self.rightUplv.text = string.format("%s",data.lv)
else
self.rightUplv.gameObject:SetActive(false)
end
if data.refineLv > 0 then
self.starGrid:SetActive(true)
SetHeroStars(self.spLoader,self.starGrid, data.refineLv,1,Vector2.New(32.5,32.5),-15)
else
self.starGrid:SetActive(false)
end
end
end
-- Util.AddOnceClick(self.frameBtn, function()
-- UIManager.OpenPanel(UIName.RewardTalismanSingleShowPopup,2,"",itemSId,0,0,0)
-- end)
elseif itemDataConFig.ItemType == ItemType.LingShou then
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
self.fragmentIcon:SetActive(false)
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.PokemonGetInfoPopup, false,itemSId)
end)
elseif itemDataConFig.ItemType == ItemType.GodWeapon then
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
self.fragmentIcon:SetActive(false)
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.GodWeaponGetInfoPopup, false,itemSId)
end)
elseif itemDataConFig.ItemType == ItemType.HeadFrame then
self.UI_Effect_Kuang_JinSe:SetActive(false)
self.UI_Effect_Kuang_HongSe:SetActive(false)
self.UI_effect_WuCai_Kuang:SetActive(false)
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
-- 显示头像框特效
local effectRoot = Util.GetGameObject(self.gameObject, "effects")
self:LoadFrameEffect(itemDataConFig.Id, effectRoot)
self:SetFrameEffectLayer(effectLayer)
self:SetFrameEffectScale(self.scale * 0.7)
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup,itemSId,nil,self.isRewardItemPop,true)
end)
elseif itemDataConFig.ItemType == ItemType.SelfBox then
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardBoxPanel,nil,itemSId)
end)
elseif itemDataConFig.ItemType == ItemType.heroDogFood then
--狗粮
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
local propertyName=itemConfig[itemSId].PropertyName
if(propertyName~=0) then
self.fragmentIcon:SetActive(true)
self.fragmentIcon:GetComponent("Image").sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(propertyName))
end
self.starGrid:SetActive(true)
local star = _reward[4] or itemConfig[itemSId].HeroStar[1]
SetHeroStars(self.spLoader,self.starGrid, star,1,Vector2.New(32.5,32.5),-15)
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId,nil,self.isRewardItemPop,true)
end)
elseif itemDataConFig.ItemType == ItemType.Incarnation then--化身卡
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardTailsmanChipShowPopup, itemSId,_reward[4],_reward[5])
end)
elseif itemDataConFig.ItemType == ItemType.Ride then--坐骑
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardRideShowPopup, itemSId,nil)
end)
elseif itemDataConFig.ItemType == ItemType.Gem then--命石
-- if _itemData.backData.isReplace then
-- self.upImg:SetActive(true)
-- end
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardGemSingleShowPopup, itemSId,3)
end)
elseif itemDataConFig.ItemType == ItemType.TimeIsGold then
-- 挂机奖励
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
self.num:SetActive(itemNum > 1)
self.num:GetComponent("Text").text = PrintWanNum(itemNum)
local useGain = itemConfig[itemSId].UseGain
if useGain and useGain[1] and useGain[1][2] then
local mins = useGain[1][2]
local hours = math.floor(mins/60)
self.time.gameObject:SetActive(true)
self.timeTxt.text= hours .. "小时"
end
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId,nil,self.isRewardItemPop)
end)
elseif itemDataConFig.ItemType == ItemType.GodPrint then
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.GodPrintPopUp,0,nil,itemSId )
end)
elseif itemDataConFig.ItemType == ItemType.likeabilityItemChip or itemDataConFig.ItemType == ItemType.EquipChip then
self.fragmentIcon:SetActive(true)
if itemConfig[itemSId].PropertyName > 0 then
self.fragmentIcon.gameObject:SetActive(true)
self.fragmentIcon:GetComponent("Image").sprite = self.spLoader:LoadSprite(GetProStrImageByProNum(itemConfig[itemSId].PropertyName))
else
self.fragmentIcon.gameObject:SetActive(false)
end
self.frameMask:SetActive(true)
self.frameMask:GetComponent("Image").sprite = self.spLoader:LoadSprite(GetHeroChipQuantityImageByquality(itemConfig[itemSId].Quantity))
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId,nil,self.isRewardItemPop,true)
end)
else
--,5随机道具,6符文
self.frame.sprite = self.spLoader:LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
self.icon.sprite = self.spLoader:LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
Util.AddOnceClick(self.frameBtn, function()
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId, nil, self.isRewardItemPop,true)
end)
end
if itemNum <= 0 then
self.num:SetActive(false)
else
if isShowAddImage then
local bagAllNum = BagManager.GetItemCountById(itemSId)
if bagAllNum >= itemNum then
self.addImage:SetActive(false)
self.num:GetComponent("Text").text = string.format("%s/%s", PrintWanNum2(bagAllNum), PrintWanNum2(itemNum))
self.num:GetComponent("Text").color = Color.New(1, 1, 1, 1)
--self.pokemonNum:GetComponent("Text").text = string.format("%s/%s", PrintWanNum(bagAllNum), PrintWanNum(itemNum))
--self.pokemonNum:GetComponent("Text").color = Color.New(1, 1, 1, 1)
else
self.num:GetComponent("Text").text = string.format("%s/%s", PrintWanNum2(bagAllNum), PrintWanNum2(itemNum))
self.num:GetComponent("Text").color = UIColor.NOT_ENOUGH_RED
--self.pokemonNum:GetComponent("Text").text = string.format("%s/%s", PrintWanNum(bagAllNum), PrintWanNum(itemNum))
--self.pokemonNum:GetComponent("Text").color = UIColor.NOT_ENOUGH_RED
end
else
self.num:GetComponent("Text").text = string.format("%s", PrintWanNum2(itemNum))
self.num:GetComponent("Text").color = Color.New(1, 1, 1, 1)
end
end
self.gameObject:GetComponent("RectTransform").localScale = Vector3.New(self.scale, self.scale,1)
end
function ItemView:OnBtnCkickEvent(itemSId)
Log("ItemView:OnBtnCkickEvent("..tostring(itemSId)..")")
local itemDataConFig = ConfigManager.GetConfigData(ConfigName.ItemConfig, itemSId)
if itemDataConFig.ItemType == ItemType.Hero then
-- 1角色
local heroConfigData = ConfigManager.GetConfigData(ConfigName.HeroConfig, itemConfig[itemDataConFig.Id].HeroStar[1])
UIManager.OpenPanel(UIName.RoleGetInfoPopup, false, heroConfigData.Id, itemConfig[itemDataConFig.Id].HeroStar[2])
elseif itemDataConFig.ItemType == ItemType.Equip then
--3装备
-- UIManager.OpenPanel(UIName.HandBookEquipInfoPanel, itemDataConFig.Id)
local _itemData = {}
_itemData.id = itemDataConFig.Id
-- UIManager.OpenPanel(UIName.RoleEquipChangePopup, nil, 4, nil, _itemData, nil, nil)
UIManager.OpenPanel(UIName.RewardEquipSingleShowPopup2,self, _itemData,0,true,true,nil)
elseif itemDataConFig.ItemType == ItemType.Blueprint then
local lanTuData = WorkShopManager.GetLanTuIsOpenLock(itemDataConFig.Id)
if lanTuData then
UIManager.OpenPanel(UIName.WorkShopArmorOnePanel,3,3, lanTuData[2])
end
elseif (itemDataConFig.ItemType == ItemType.Talisman) or (itemDataConFig.ItemType == ItemType.EquipTreasure) then
--魂宝灵宝
UIManager.OpenPanel(UIName.RewardTalismanSingleShowPopup,2,"",itemDataConFig.Id,0,0)
elseif itemDataConFig.ItemType == ItemType.HunYin then
--魂印
UIManager.OpenPanel(UIName.SoulPrintPopUp,0,nil,itemSId,nil,nil)
elseif itemDataConFig.ItemType == ItemType.LingShou then
--灵兽
UIManager.OpenPanel(UIName.PokemonGetInfoPopup, false,itemDataConFig.Id)
elseif itemDataConFig.ItemType == ItemType.GodWeapon then
--神兵
UIManager.OpenPanel(UIName.GodWeaponGetInfoPopup, false,itemDataConFig.Id)
elseif itemDataConFig.ItemType == ItemType.SelfBox then
--道具自选箱
UIManager.OpenPanel(UIName.RewardBoxPanel,nil,itemDataConFig.Id)
elseif itemDataConFig.ItemType == ItemType.Gem then
UIManager.OpenPanel(UIName.RewardGemSingleShowPopup, itemDataConFig.Id,3)
elseif itemDataConFig.ItemType == ItemType.Incarnation then
UIManager.OpenPanel(UIName.RewardTailsmanChipShowPopup, itemDataConFig.Id, nil)
elseif itemDataConFig.ItemType == ItemType.Ride then
UIManager.OpenPanel(UIName.RewardRideShowPopup, itemDataConFig.Id, nil)
else
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemDataConFig.Id,nil,self.isRewardItemPop,true)
end
end
function ItemView:OnShowUIeffectItemViewSaoguang()
self.UI_effect_ItemView_saoguang:SetActive(false)
self.UI_effect_ItemView_saoguang:SetActive(true)
end
--重设属性
--OnOpen ItemView时 只对isGet=false时生效 否则会报错
--该方法根据对ItemView的不同需求自己拓展
--该方法可有可无 不调用时走默认的赋值 调用时根据自定义的设置赋值
--_reward为数据 便于物品类型与传入的type类型相匹配
--settings为表类型 传入的参数需要与自定义配置相对应
function ItemView:Reset(_reward,type,settings)
local itemSId = tonumber(_reward[1])
local itemDataConFig = ConfigManager.GetConfigData(ConfigName.ItemConfig, itemSId)
if type == itemDataConFig.ItemType then
local data=settings
-- self.posImage.enabled=data[1]
self.proImage.enabled=data[2]
--self.heroStage.enabled=data[3]
self.num:GetComponent("Text").enabled=data[4]
end
end
function ItemView:ResetNameColor(v4)
self.name:GetComponent("Text").color=v4
end
function ItemView:ResetBtnInteractable(isOpen)
self.frameBtn:GetComponent("Button").enabled=isOpen
end
function ItemView:ResetNameSize(v2,v3)
self.name:GetComponent("RectTransform").anchoredPosition3D = v2
self.name:GetComponent("RectTransform").localScale = v3
end
function ItemView:ResetName(nameStr)
self.name:GetComponent("Text").text=nameStr
end
function ItemView:OnClose()
self.frameBtn:GetComponent("Button").enabled = true
self.gameObject:SetActive(true)
self.Double:SetActive(false)
-- 修复对象池回收层级没有重置,导致特效穿透的问题
self:SetEffectLayer(-self.EffectOrginLayerQu)
self.spLoader:Destroy()
self.rightUplv.gameObject:SetActive(false)
self.middleDownLv.gameObject:SetActive(false)
self.Did = nil
end
function ItemView:OnDestroy()
end
-- 头像框特效相关
function ItemView:InitFrameEffect()
-- body
self.orderLayer = 0
self.effectScale = 1
self.effectScaleFix = 1
end
function ItemView:LoadFrameEffect(frameId, parent)
local name, scale, pos = GetPlayerHeadFrameEffect(frameId)
if name then
self.frameEffectName = name
self.frameEffect = poolManager:LoadAsset(self.frameEffectName, PoolManager.AssetType.GameObject)
self.frameEffect.transform:SetParent(parent.transform)
self.frameEffect.transform.localPosition = pos
self.frameEffect.transform.localScale = Vector3.one
self.effectScaleFix = scale
Util.SetParticleScale(self.frameEffect, scale) -- 还原修正大小
end
end
function ItemView:UnLoadFrameEffect()
if self.frameEffectName and self.frameEffect then
-- 重置层级
self:SetFrameEffectLayer(0)
self:SetFrameEffectScale(1)
Util.SetParticleScale(self.frameEffect, 1/self.effectScaleFix) -- 还原修正大小
poolManager:UnLoadAsset(self.frameEffectName, self.frameEffect, PoolManager.AssetType.GameObject)
self.frameEffectName = nil
self.frameEffect = nil
end
end
function ItemView:SetFrameEffectScale(scale)
if self.frameEffect then
local targetScale = scale/self.effectScale
self.effectScale = scale
Util.SetParticleScale(self.frameEffect, targetScale)
end
end
function ItemView:SetFrameEffectLayer(orderLayer)
if self.frameEffect then
Util.AddParticleSortLayer(self.frameEffect, orderLayer - self.orderLayer)
self.orderLayer = orderLayer
end
end
return ItemView