752 lines
40 KiB
Lua
752 lines
40 KiB
Lua
local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
|
||
local equipConfig = ConfigManager.GetConfig(ConfigName.EquipConfig)
|
||
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.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.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.heroStage=Util.GetGameObject(self.gameObject, "item/heroShow/heroStage"):GetComponent("Image")
|
||
Util.GetGameObject(self.gameObject, "item/heroShow/heroStage"):SetActive(false)
|
||
--云梦专用
|
||
self.PreciousShow=Util.GetGameObject(self.gameObject, "PreciousShow")
|
||
self.PreciousShowText=Util.GetGameObject(self.gameObject, "PreciousShow/Text"):GetComponent("Text")
|
||
|
||
self.EffectOrginLayer = 0
|
||
self.EffectOrginLayerQu = 0
|
||
self.EffectOrginScale = 1
|
||
self.EffectOrginScaleQu = 1
|
||
|
||
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: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 当前界面层级(显示粒子特效用)
|
||
--界面打开时调用(用于子类重写)
|
||
function ItemView:OnOpen(isGet, itemDatas, _scale, isShowName, isShowAddImage, isPlayAnim, effectLayer)
|
||
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.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
|
||
end
|
||
function ItemView:GetRewardShow(_itemData, effectLayer)
|
||
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.PreciousShow:SetActive(false)
|
||
self.frame.sprite = Util.LoadSprite(_itemData.frame)
|
||
self.icon.sprite = Util.LoadSprite(_itemData.icon)
|
||
self.num:GetComponent("Text").text = PrintWanNum(_itemData.num)
|
||
self.innateImage:SetActive(false)
|
||
self.iconGo:SetActive(true)
|
||
self.circleFrameBg:SetActive(false)
|
||
|
||
self.name:GetComponent("Text").text = GetCutOutStr(GetLanguageStrById( _itemData.configData.Name),5)
|
||
|
||
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)
|
||
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()
|
||
|
||
local isShowPrecious = _itemData.isShowPrecious or 0
|
||
if isShowPrecious == 0 then
|
||
elseif isShowPrecious == 1 then
|
||
self.PreciousShow:SetActive(true)
|
||
self.PreciousShowText.text=Language[12023]
|
||
elseif isShowPrecious == 2 then
|
||
self.PreciousShow:SetActive(true)
|
||
self.PreciousShowText.text=Language[12024]
|
||
elseif isShowPrecious == 3 then
|
||
self.PreciousShow:SetActive(true)
|
||
self.PreciousShowText.text=Language[12025]
|
||
end
|
||
|
||
if _itemData.itemType == 1 or _itemData.itemType == 0 then--物品
|
||
--item
|
||
if effectLayer > 0 then
|
||
self.UI_Effect_Kuang_JinSe:SetActive(_itemData.configData.Quantity == 5)
|
||
self.UI_Effect_Kuang_HongSe:SetActive(_itemData.configData.Quantity == 6)
|
||
self.UI_effect_WuCai_Kuang:SetActive(_itemData.configData.Quantity == 7)
|
||
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 then
|
||
--角色碎片
|
||
self.frameMask:SetActive(true)
|
||
self.frameMask:GetComponent("Image").sprite = Util.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 = Util.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 = Util.LoadSprite(YaoHunFrame[_itemData.configData.Quantity])--_itemData.quality
|
||
--self.pokemonImage.sprite = Util.LoadSprite(_itemData.icon)
|
||
Util.AddOnceClick(self.frameBtn, function()
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, _itemData.backData.itemId,nil,self.isRewardItemPop)
|
||
end)
|
||
if effectLayer > 0 then
|
||
self.UI_Effect_Kuang_JinSe:SetActive(_itemData.configData.Quantity == 5)
|
||
self.UI_Effect_Kuang_HongSe:SetActive(_itemData.configData.Quantity == 6)
|
||
self.UI_effect_WuCai_Kuang:SetActive(_itemData.configData.Quantity == 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 = _itemData.num
|
||
self.name:GetComponent("Text").text =GetCutOutStr(GetLanguageStrById( _itemData.configData.Name),5)
|
||
self.starGrid:SetActive(true)
|
||
EquipManager.SetEquipStarShow(self.starGrid, _itemData.configData.Id)
|
||
Util.AddOnceClick(self.frameBtn, function()
|
||
_itemData.id = _itemData.configData.Id
|
||
UIManager.OpenPanel(UIName.RewardEquipSingleShowPopup, _itemData,nil,self.isRewardItemPop)
|
||
end)
|
||
if effectLayer > 0 then
|
||
self.UI_Effect_Kuang_JinSe:SetActive(_itemData.configData.Quantity == 5 or _itemData.configData.Quantity == 4)
|
||
self.UI_Effect_Kuang_HongSe:SetActive(_itemData.configData.Quantity == 6)
|
||
self.UI_effect_WuCai_Kuang:SetActive(_itemData.configData.Quantity == 7)
|
||
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 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(true)
|
||
end
|
||
self.iconGo:SetActive(false)
|
||
self.circleFrameBg:SetActive(true)
|
||
self.circleFrameBg:GetComponent("Image").sprite=Util.LoadSprite(SoulPrintSpriteByQuantity[_itemData.configData.Quantity].circleBg2)
|
||
Util.GetGameObject(self.circleFrameBg,"Icon"):GetComponent("Image").sprite=Util.LoadSprite(_itemData.icon)
|
||
Util.GetGameObject(self.circleFrameBg,"circleFrame"):GetComponent("Image").sprite=Util.LoadSprite(SoulPrintSpriteByQuantity[_itemData.configData.Quantity].circle)
|
||
Util.AddOnceClick(self.frameBtn, function()
|
||
--所有的魂印打开都用这个界面
|
||
UIManager.OpenPanel(UIName.SoulPrintPopUp, ShowType.showTip3, nil,_itemData.backData.itemId)
|
||
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 = _itemData.num
|
||
self.name:GetComponent("Text").text = GetCutOutStr(GetLanguageStrById(_itemData.configData.Name),5)
|
||
self.starGrid:SetActive(true)
|
||
EquipManager.SetEquipStarShow(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)
|
||
end)
|
||
if effectLayer > 0 then
|
||
self.UI_Effect_Kuang_JinSe:SetActive(_itemData.configData.Quantity == 5 or _itemData.configData.Quantity == 4)
|
||
self.UI_Effect_Kuang_HongSe:SetActive(_itemData.configData.Quantity == 6)
|
||
self.UI_effect_WuCai_Kuang:SetActive(_itemData.configData.Quantity == 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.starGrid, _itemData.backData.star,1,Vector2.New(32.5,32.5),-15)
|
||
self.proImage.sprite = Util.LoadSprite(GetProStrImageByProNum(_itemData.configData.PropertyName))
|
||
--self.posImage.sprite = Util.LoadSprite(GetJobSpriteStrByJobNum(_itemData.configData.Profession))
|
||
--self.heroStage.sprite = Util.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)
|
||
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.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)
|
||
end)
|
||
if effectLayer > 0 then
|
||
self.UI_Effect_Kuang_JinSe:SetActive(_itemData.configData.Quantity == 5)
|
||
self.UI_Effect_Kuang_HongSe:SetActive(_itemData.configData.Quantity == 6)
|
||
self.UI_effect_WuCai_Kuang:SetActive(_itemData.configData.Quantity == 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 = Util.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)
|
||
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()
|
||
local pokemonData={tempId=_itemData.configData.Id,id=_itemData.configData.Id,star=0,level=1}
|
||
UIManager.OpenPanel(UIName.PokemonGetInfoPopup, true,pokemonData)
|
||
end)
|
||
end
|
||
self.gameObject:GetComponent("RectTransform").localScale = Vector2.New(self.scale, self.scale)
|
||
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)
|
||
|
||
self:SetFrameEffectLayer(effectLayer)
|
||
|
||
self.EffectOrginLayerQu = effectLayer
|
||
end
|
||
|
||
function ItemView:NoGetRewardShow(_reward, effectLayer, isShowAddImage)
|
||
self.isRewardItemPop=false
|
||
local itemSId = tonumber(_reward[1])
|
||
local itemNum = tonumber(_reward[2]) or 0
|
||
local isShowPrecious = _reward[3] or 0
|
||
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.PreciousShow:SetActive(false)
|
||
self.iconGo:SetActive(true)
|
||
self.circleFrameBg:SetActive(false)
|
||
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)
|
||
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 then
|
||
self.UI_Effect_Kuang_JinSe:SetActive(itemDataConFig.Quantity == 5)
|
||
self.UI_Effect_Kuang_HongSe:SetActive(itemDataConFig.Quantity == 6)
|
||
self.UI_effect_WuCai_Kuang:SetActive(itemDataConFig.Quantity == 7)
|
||
end
|
||
if itemDataConFig.ItemType == ItemType.NoType then
|
||
--0无特殊分类
|
||
self.frame.sprite = Util.LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
|
||
self.icon.sprite = Util.LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
|
||
Util.AddOnceClick(self.frameBtn, function()
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId,nil,self.isRewardItemPop)
|
||
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]
|
||
SetHeroStars(self.starGrid, star,1,Vector2.New(32.5,32.5),-15)
|
||
self.frame.sprite = Util.LoadSprite(GetHeroQuantityImageByquality(heroConfigData.Quality,star))
|
||
self.icon.sprite = Util.LoadSprite(GetResourcePath(heroConfigData.Icon))
|
||
self.proImage.sprite = Util.LoadSprite(GetProStrImageByProNum(heroConfigData.PropertyName))
|
||
--self.posImage.sprite = Util.LoadSprite(GetJobSpriteStrByJobNum(heroConfigData.Profession))
|
||
--self.heroStage.sprite = Util.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,star)
|
||
end)
|
||
if effectLayer > 0 then
|
||
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 then
|
||
--2角色碎片
|
||
self.frameMask:SetActive(true)
|
||
self.frameMask:GetComponent("Image").sprite = Util.LoadSprite(GetHeroChipQuantityImageByquality(itemConfig[itemSId].Quantity))
|
||
self.frame.sprite = Util.LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
|
||
self.icon.sprite = Util.LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
|
||
local propertyName=itemConfig[itemSId].PropertyName
|
||
if(propertyName~=0) then
|
||
self.fragmentIcon:SetActive(true)
|
||
self.fragmentIcon:GetComponent("Image").sprite = Util.LoadSprite(GetProStrImageByProNum(propertyName))
|
||
end
|
||
Util.AddOnceClick(self.frameBtn, function()
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId,nil,self.isRewardItemPop)
|
||
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 = Util.LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
|
||
self.icon.sprite = Util.LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
|
||
self.starGrid:SetActive(true)
|
||
EquipManager.SetEquipStarShow(self.starGrid,itemSId)
|
||
if effectLayer > 0 then
|
||
self.UI_Effect_Kuang_JinSe:SetActive(itemDataConFig.Quantity == 5 or itemDataConFig.Quantity == 4)
|
||
self.UI_Effect_Kuang_HongSe:SetActive(itemDataConFig.Quantity == 6)
|
||
self.UI_effect_WuCai_Kuang:SetActive(itemDataConFig.Quantity == 7)
|
||
end
|
||
Util.AddOnceClick(self.frameBtn, function()
|
||
UIManager.OpenPanel(UIName.HandBookEquipInfoPanel, itemSId)
|
||
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 = Util.LoadSprite(YaoHunFrame[itemConfig[itemSId].Quantity])
|
||
self.icon.sprite = Util.LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
|
||
--self.pokemonFrame:GetComponent("Image").sprite = Util.LoadSprite(YaoHunFrame[itemConfig[itemSId].Quantity])
|
||
--self.pokemonImage.sprite = Util.LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
|
||
Util.AddOnceClick(self.frameBtn, function()
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId,nil,self.isRewardItemPop)
|
||
end)
|
||
if effectLayer > 0 then
|
||
self.UI_Effect_Kuang_JinSe:SetActive(itemConfig[itemSId].Quantity == 5)
|
||
self.UI_Effect_Kuang_HongSe:SetActive(itemConfig[itemSId].Quantity == 6)
|
||
self.UI_effect_WuCai_Kuang:SetActive(itemConfig[itemSId].Quantity == 7)
|
||
end
|
||
elseif itemDataConFig.ItemType == ItemType.Blueprint then
|
||
--蓝图
|
||
self.frame.sprite = Util.LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
|
||
self.icon.sprite = Util.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 = Util.LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
|
||
self.icon.sprite = Util.LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
|
||
Util.AddOnceClick(self.frameBtn, function()
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId,nil,self.isRewardItemPop)
|
||
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 then
|
||
self.UI_Effect_Kuang_JinSe:SetActive(itemDataConFig.Quantity == 5)
|
||
self.UI_Effect_Kuang_HongSe:SetActive(itemDataConFig.Quantity == 6)
|
||
self.UI_effect_WuCai_Kuang:SetActive(itemDataConFig.Quantity == 7)
|
||
end
|
||
elseif itemDataConFig.ItemType == ItemType.Talisman then
|
||
--法宝
|
||
Log("法宝 "..itemSId)
|
||
self.num:SetActive(false)
|
||
self.frame.sprite = Util.LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
|
||
self.icon.sprite = Util.LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
|
||
self.starGrid:SetActive(true)
|
||
SetHeroStars(self.starGrid, TalismanManager.AllTalismanStartStar[itemSId],1,Vector2.New(32.5,32.5),-15)
|
||
Util.AddOnceClick(self.frameBtn, function()
|
||
UIManager.OpenPanel(UIName.RewardTalismanSingleShowPopup,2,"",itemSId,0,0)
|
||
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)
|
||
self.num:SetActive(true)
|
||
self.frame.sprite = Util.LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
|
||
self.iconGo:SetActive(false)
|
||
self.circleFrameBg:SetActive(true)
|
||
self.circleFrameBg:GetComponent("Image").sprite=Util.LoadSprite(SoulPrintSpriteByQuantity[itemConfig[itemSId].Quantity].circleBg2)
|
||
Util.GetGameObject(self.circleFrameBg,"Icon"):GetComponent("Image").sprite=Util.LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
|
||
Util.GetGameObject(self.circleFrameBg,"circleFrame"):GetComponent("Image").sprite=Util.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 = Util.LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
|
||
self.icon.sprite = Util.LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
|
||
self.fragmentIcon:SetActive(true)
|
||
self.fragmentIcon:GetComponent("Image").sprite = Util.LoadSprite(GetProStrImageByProNum(itemConfig[itemSId].PropertyName))
|
||
Util.AddOnceClick(self.frameBtn, function()
|
||
UIManager.OpenPanel(UIName.RewardTalismanSingleShowPopup,2,"",itemSId,0,0)
|
||
end)
|
||
elseif itemDataConFig.ItemType == ItemType.LingShou then
|
||
self.frame.sprite = Util.LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
|
||
self.icon.sprite = Util.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.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 = Util.LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
|
||
self.icon.sprite = Util.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)
|
||
end)
|
||
elseif itemDataConFig.ItemType == ItemType.SelfBox then
|
||
self.frame.sprite = Util.LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
|
||
self.icon.sprite = Util.LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
|
||
Util.AddOnceClick(self.frameBtn, function()
|
||
UIManager.OpenPanel(UIName.RewardBoxPanel,nil,itemSId)
|
||
end)
|
||
else
|
||
--,5随机道具,6符文
|
||
self.frame.sprite = Util.LoadSprite(GetQuantityImageByquality(itemConfig[itemSId].Quantity))
|
||
self.icon.sprite = Util.LoadSprite(GetResourcePath(itemConfig[itemSId].ResourceID))
|
||
Util.AddOnceClick(self.frameBtn, function()
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId, nil, self.isRewardItemPop)
|
||
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", PrintWanNum(itemNum))
|
||
self.num:GetComponent("Text").color = Color.New(1, 1, 1, 1)
|
||
end
|
||
end
|
||
if isShowPrecious == 0 then
|
||
elseif isShowPrecious == 1 then
|
||
self.PreciousShow:SetActive(true)
|
||
self.PreciousShowText.text=Language[12023]
|
||
elseif isShowPrecious == 2 then
|
||
self.PreciousShow:SetActive(true)
|
||
self.PreciousShowText.text=Language[12024]
|
||
elseif isShowPrecious == 3 then
|
||
self.PreciousShow:SetActive(true)
|
||
self.PreciousShowText.text=Language[12025]
|
||
end
|
||
self.gameObject:GetComponent("RectTransform").localScale = Vector2.New(self.scale, self.scale)
|
||
end
|
||
function ItemView:OnBtnCkickEvent(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)
|
||
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.SelfBox then
|
||
--道具自选箱
|
||
UIManager.OpenPanel(UIName.RewardBoxPanel,nil,itemDataConFig.Id)
|
||
else
|
||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemDataConFig.Id,nil,self.isRewardItemPop)
|
||
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:ResetNameSize(v2,v3)
|
||
self.name:GetComponent("RectTransform").anchoredPosition3D = v2
|
||
self.name:GetComponent("RectTransform").localScale = v3
|
||
end
|
||
|
||
|
||
function ItemView:OnClose()
|
||
-- 修复对象池回收层级没有重置,导致特效穿透的问题
|
||
self:SetEffectLayer(-self.EffectOrginLayerQu)
|
||
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 |