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

47 lines
1.2 KiB
Plaintext

PopUpItemView = class("PopUpItemView", BaseView);
PopUpItemView.ViewType = UIViewType.Popup10Layer;
function PopUpItemView:Init()
local grid = self:FindComponent("ItemGrid", UIGrid);
self.ctl = UIGridListCtrl.new(grid, ItemCell, "ItemCell");
self.icon = self:FindComponent("TitleIcon", UISprite);
self.bgClick = self:FindGO("BgClick");
self:AddClickEvent(self.bgClick, function (go)
self:CloseSelf();
end);
self.effectMap = {};
self.effectMap[1] = self:FindGO("TitleEffect");
self.effectMap[2] = self:FindGO("TitleEffect2");
end
function PopUpItemView:OnEnter()
PopUpItemView.super.OnEnter(self);
self.gameObject:SetActive(true);
local viewdata = self.viewdata.viewdata;
if(viewdata)then
local icon, datas, effectIndex = viewdata.icon, viewdata.datas, viewdata.effectIndex;
self:UpdateData(icon, datas, effectIndex);
end
end
function PopUpItemView:UpdateData(icon, datas, effectIndex)
self.icon.spriteName = tostring(icon);
self.icon:MakePixelPerfect();
self.ctl:ResetDatas(datas);
effectIndex = effectIndex or 1;
for i=1,#self.effectMap do
self.effectMap[i]:SetActive(i == effectIndex);
end
end
function PopUpItemView:OnExit()
PopUpItemView.super.OnExit(self);
self.gameObject:SetActive(false);
end