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

161 lines
5.3 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

local BaseCell = autoImport("BaseCell");
ItemPopView = class("ItemPopView", BaseCell);
autoImport("PopItemCell");
local EFFECTMAP_DECOMPOSE_RESULT =
{
[SceneItem_pb.EDECOMPOSERESULT_FAIL] = "equip_tex_01",
[SceneItem_pb.EDECOMPOSERESULT_SUCCESS] = "equip_tex_02",
[SceneItem_pb.EDECOMPOSERESULT_SUCCESS_BIG] = "equip_tex_03",
[SceneItem_pb.EDECOMPOSERESULT_SUCCESS_SBIG] = "equip_tex_04",
[SceneItem_pb.EDECOMPOSERESULT_SUCCESS_FANTASY] = "equip_tex_05",
}
function ItemPopView:Init()
self:InitUI();
end
function ItemPopView:InitUI()
-- self.icon = self:FindComponent("Icon", UISprite);
-- self.tip = SpriteLabel.new(self:FindGO("MsgLabel"),nil,50,50,true)
local panel = self:FindGO("ScrollView"):GetComponent(UIPanel)
self.ScrollView = panel.gameObject:GetComponent(UIScrollView)
local temp = self.gameObject:GetComponentInParent(UIPanel)
-- panel.gameObject:SetActive(false)
if(temp)then
panel.depth = temp.depth+1
end
self.shadowPanel = self:FindGO("shadowPanel"):GetComponent(UIPanel)
self.shadowPanel.depth = temp.depth+2
-- panel.gameObject:SetActive(true)
self:Show(panel.gameObject)
self.grid = self:FindGO("Grid"):GetComponent(UIGrid)
self.grid = UIGridListCtrl.new(self.grid , PopItemCell, "PopItemCell");
self.grid:AddEventListener(MouseEvent.MouseClick, self.itemClick, self);
self.icon = self:FindGO("TitleIcon"):GetComponent(UISprite)
self.uiEquipIcon = self:FindGO("EquipUIIcon"):GetComponent(UISprite)
self.animHelper = self.gameObject:GetComponent(SimpleAnimatorPlayer);
self.animHelper = self.animHelper.animatorHelper;
self.itemStick = self:FindGO("PopViewBg"):GetComponent(UISprite)
self.oneItem = self:FindGO("OneItem")
self.itemName = self:FindGO("itemName"):GetComponent(UILabel)
self.DragCollider = self:FindGO("DragCollider")
self:AddAnimatorEvent()
end
function ItemPopView:itemClick( child )
-- body
local data = child.data
local data = {itemdata = data, funcConfig = {}}
self:ShowItemTip(data,self.itemStick, NGUIUtil.AnchorSide.Right, {200, 0})
end
function ItemPopView:IsShowed()
return self.isShowed
end
function ItemPopView:ResetAnim()
self.isShowed = false
LeanTween.cancel(self.gameObject)
LeanTween.delayedCall(self.gameObject,GameConfig.ItemPopShowTimeLim,function ()
self.isShowed = true
end)
end
function ItemPopView:PlayHide()
if(self.isShowed) then
self:PassEvent(SystemUnLockEvent.ShowNextEvent,self.data)
-- self.animHelper:Play("UnLockAnim2", 1, false);
end
end
function ItemPopView:AddAnimatorEvent()
self.animHelper.loopCountChangedListener = function (state, oldLoopCount, newLoopCount)
if(not self.isShowed)then
-- self.isShowed = true;
end
end
end
local tempVector3 = LuaVector3.zero
function ItemPopView:SetData(data)
self.data = data
self:ResetAnim();
self:Hide(self.oneItem)
if(data.data.showType == PopUp10View.ItemCoinShowType.Decompose) then
self:Hide(self.icon.gameObject)
self:Show(self.uiEquipIcon.gameObject)
self.uiEquipIcon.spriteName = EFFECTMAP_DECOMPOSE_RESULT[data.data.params]
self.uiEquipIcon:MakePixelPerfect()
else
self:Show(self.icon.gameObject)
self:Hide(self.uiEquipIcon.gameObject)
end
self:Show(self.DragCollider)
if(data.data and #(data.data) == 1)then
self:Show(self.oneItem)
self.itemName.text = data.data[1]:GetName().."×"..data.data[1].num
local itemplaceholder = self:FindGO("itemplaceholder")
self:Hide(self.DragCollider)
local obj = Game.AssetManager_UI:CreateAsset(ResourcePathHelper.UICell("PopItemCell"), itemplaceholder);
local itemCell = PopItemCell.new(obj)
tempVector3:Set(0,0,0)
obj.transform.localPosition = tempVector3
itemCell:AddEventListener(MouseEvent.MouseClick,self.itemClick,self)
itemCell:SetData(data.data[1])
itemCell:Hide(itemCell.numLab)
-- itemCell:Hide(itemCell.damageSymbol)
-- itemCell:Hide(itemCell.strenglv)
-- itemCell:Hide(itemCell.refinelv)
local bound = NGUIMath.CalculateRelativeWidgetBounds(self.oneItem.transform,true)
local width = bound.size.x
tempVector3:Set(LuaGameObject.GetLocalPosition(self.oneItem.transform))
tempVector3:Set(- width/2,tempVector3.y,tempVector3.z)
self.oneItem.transform.localPosition = tempVector3
return
elseif(data.data and #(data.data) < 5 )then
self.ScrollView.contentPivot = UIWidget.Pivot.Center;
self.Hide(self.shadowPanel)
else
self.Show(self.shadowPanel)
self.ScrollView.contentPivot = UIWidget.Pivot.Left;
end
self.grid:ResetDatas(data.data)
self.ScrollView:ResetPosition();
-- self.animHelper:Play("UnLockMsg1", 1, false);
-- self:PlayCommonSound(AudioMap.Maps.FunctionUnlock);
end
function ItemPopView: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
function ItemPopView:SetIcon(icon)
self.icon.spriteName = icon;
end