物品框添加头像框的特效
parent
b3d15c1945
commit
bf3641d6c3
|
@ -43,7 +43,6 @@ function PlayerHead:SetEffectScale(scale)
|
|||
if self.frameEffect then
|
||||
local targetScale = scale/self.effectScale
|
||||
self.effectScale = scale
|
||||
LogPink(targetScale)
|
||||
Util.SetParticleScale(self.frameEffect, targetScale)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -54,6 +54,7 @@ function ItemView:InitComponent()
|
|||
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)
|
||||
|
@ -135,6 +136,8 @@ function ItemView:GetRewardShow(_itemData, effectLayer)
|
|||
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
|
||||
|
@ -310,6 +313,15 @@ function ItemView:GetRewardShow(_itemData, effectLayer)
|
|||
--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 == 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)
|
||||
end
|
||||
self.gameObject:GetComponent("RectTransform").localScale = Vector2.New(self.scale, self.scale)
|
||||
end
|
||||
|
@ -321,6 +333,9 @@ function ItemView:SetEffectLayer(effectLayer)
|
|||
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
|
||||
|
||||
|
@ -361,6 +376,8 @@ function ItemView:NoGetRewardShow(_reward, effectLayer, isShowAddImage)
|
|||
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)
|
||||
|
@ -512,12 +529,24 @@ function ItemView:NoGetRewardShow(_reward, effectLayer, isShowAddImage)
|
|||
Util.AddOnceClick(self.frameBtn, function()
|
||||
UIManager.OpenPanel(UIName.RewardTalismanSingleShowPopup,2,"",itemSId,0,0)
|
||||
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)
|
||||
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)
|
||||
UIManager.OpenPanel(UIName.RewardItemSingleShowPopup, itemSId, nil, self.isRewardItemPop)
|
||||
end)
|
||||
end
|
||||
if itemNum <= 0 then
|
||||
|
@ -614,4 +643,56 @@ 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
|
|
@ -114,7 +114,6 @@ function PlayerHeadView:SetEffectScale(scale)
|
|||
if self.frameEffect then
|
||||
local targetScale = scale / self.effectScale
|
||||
self.effectScale = scale
|
||||
LogPink(targetScale)
|
||||
Util.SetParticleScale(self.frameEffect, targetScale)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue