2025-06-04 05:02:57 +08:00

171 lines
5.5 KiB
Plaintext

local BaseCell = autoImport("BaseCell");
CoinPopView = class("CoinPopView", BaseCell);
function CoinPopView:Init()
self:InitUI();
end
function CoinPopView:InitUI()
-- self.icon = self:FindComponent("Icon", UISprite);
-- self.tip = SpriteLabel.new(self:FindGO("MsgLabel"),nil,50,50,true)
local bg = self:FindGO("InnerBg"):GetComponent(UISprite)
self.bgWidth = bg.width
printRed(self.bgWidth)
self.cell1 = self:FindGO("CoinCell1")
self.cell2 = self:FindGO("CoinCell2")
self.coinNum1 = self:FindGO("coinNum",self.cell1):GetComponent(UILabel)
self.coinNum2 = self:FindGO("coinNum",self.cell2):GetComponent(UILabel)
self.coinIcon1 = self:FindGO("coinIcon",self.cell1):GetComponent(UISprite)
self.coinIcon2 = self:FindGO("coinIcon",self.cell2):GetComponent(UISprite)
self.icon = self:FindGO("TitleIcon"):GetComponent(UISprite)
self.uiEquipIcon = self:FindGO("EquipUIIcon"):GetComponent(UISprite)
self.titleEffect = self:FindGO("TitleEffect")
self.animHelper = self.gameObject:GetComponent(SimpleAnimatorPlayer);
self.animHelper = self.animHelper.animatorHelper;
self:AddAnimatorEvent()
end
function CoinPopView:IsShowed()
return self.isShowed
end
function CoinPopView:ResetAnim()
self.isShowed = false
LeanTween.cancel(self.gameObject)
LeanTween.delayedCall(self.gameObject,GameConfig.ItemPopShowTimeLim,function ()
self.isShowed = true
end)
end
function CoinPopView:PlayHide()
if(self.isShowed) then
self:PassEvent(SystemUnLockEvent.ShowNextEvent,self.data)
-- self.animHelper:Play("UnLockAnim2", 1, false);
end
end
function CoinPopView:AddAnimatorEvent()
self.animHelper.loopCountChangedListener = function (state, oldLoopCount, newLoopCount)
if(not self.isShowed)then
-- self.isShowed = true;
end
-- if(state:IsName("UnLockAnim2"))then
-- self:PassEvent(SystemUnLockEvent.ShowNextEvent,self.data)
-- end
end
end
local tempVector3 = LuaVector3.zero
local tempColor = LuaColor.white
function CoinPopView:SetData(data)
self.data = data
local itemDatas = data.data
self:ResetAnim();
if(itemDatas and #itemDatas == 1)then
self:Hide(self.cell2)
local itemData = itemDatas[1]
IconManager:SetItemIcon(itemData.staticData.Icon,self.coinIcon1)
-- self.coinIcon1:MakePixelPerfect()
if(itemData.staticData.Type == 130)then
tempColor:Set(1,234/255,134/255,1)
self.coinNum1.color = tempColor
else
tempColor:Set(1,1,1,1)
self.coinNum1.color = tempColor
end
self.coinNum1.text = itemData.num
local bound = NGUIMath.CalculateRelativeWidgetBounds(self.cell1.transform,true);
-- printRed(bound.size.x)
local width = (bound.size.x)/2
tempVector3:Set(LuaGameObject.GetLocalPosition(self.cell1.transform))
tempVector3:Set(-width,tempVector3.y,tempVector3.z)
self.cell1.transform.localPosition = tempVector3
else
self:Show(self.cell2)
local itemData1 = itemDatas[1]
local itemData2 = itemDatas[2]
if(itemData1.staticData.Type == 130)then
tempColor:Set(1,234/255,134/255,1)
self.coinNum1.color = tempColor
else
tempColor:Set(1,1,1,1)
self.coinNum1.color = tempColor
end
IconManager:SetItemIcon(itemData1.staticData.Icon,self.coinIcon1)
-- self.coinIcon1:MakePixelPerfect()
self.coinNum1.text = itemData1.num
IconManager:SetItemIcon(itemData2.staticData.Icon,self.coinIcon2)
-- self.coinIcon2:MakePixelPerfect()
self.coinNum2.text = itemData2.num
if(itemData2.staticData.Type == 130)then
tempColor:Set(1,234/255,134/255,1)
self.coinNum2.color = tempColor
else
tempColor:Set(1,1,1,1)
self.coinNum2.color = tempColor
end
local bound = NGUIMath.CalculateRelativeWidgetBounds(self.cell1.transform,true)
tempVector3:Set(LuaGameObject.GetLocalPosition(self.cell1.transform))
tempVector3:Set(-self.bgWidth/2+82,tempVector3.y,tempVector3.z)
self.cell1.transform.localPosition = tempVector3
bound = NGUIMath.CalculateRelativeWidgetBounds(self.cell2.transform,true)
local width = (bound.size.x)
tempVector3:Set(LuaGameObject.GetLocalPosition(self.cell2.transform))
tempVector3:Set(self.bgWidth/2-82 - width,tempVector3.y,tempVector3.z)
self.cell2.transform.localPosition = tempVector3
end
-- self.animHelper:Play("UnLockMsg1", 1, false);
-- self:PlayCommonSound(AudioMap.Maps.FunctionUnlock);
if(itemDatas.showType == PopUp10View.ItemCoinShowType.Decompose) then
if(itemDatas.params == SceneItem_pb.EDECOMPOSERESULT_FAIL) then
self:Hide(self.titleEffect)
self:Hide(self.icon.gameObject)
self:Show(self.uiEquipIcon.gameObject)
self.uiEquipIcon.spriteName = "equip_tex_01"
self.uiEquipIcon:MakePixelPerfect()
else
self:Hide(self.uiEquipIcon.gameObject)
self:Show(self.titleEffect)
self.icon.spriteName = "item_100"
end
else
self:Show(self.titleEffect)
self:Show(self.icon.gameObject)
self:Hide(self.uiEquipIcon.gameObject)
end
end
function CoinPopView:SetTitleIcon(configIcon)
-- local atlasStr;
-- local iconStr = "";
-- if(configIcon ~= nil)then
-- if(type(configIcon)=="table") then
-- atlasStr,iconStr= next(configIcon)
-- else
-- atlasStr,iconStr = MsgParserProxy.Instance:GetIconInfo(configIcon)
-- end
-- if(atlasStr ~=nil and iconStr~=nil) then
-- self:Show(self.icon)
-- if(atlasStr == "itemicon")then
-- IconManager:SetItemIcon(iconStr, self.icon)
-- self.icon:MakePixelPerfect()
-- elseif(atlasStr == "skillicon")then
-- IconManager:SetSkillIcon(iconStr, self.icon)
-- self.icon:MakePixelPerfect()
-- else
-- IconManager:SetUIIcon(iconStr, self.icon)
-- self.icon:MakePixelPerfect()
-- end
-- end
-- else
-- self:Hide(self.icon)
-- end
end