PGRData/Script/matrix/xui/xuispecialfashionshop/XUiGridCommodityLine.lua

75 lines
2 KiB
Lua
Raw Permalink Normal View History

local XUiGridCommodityLine = XClass(nil,"XUiGridCommodityLine")
local XUiCommodity = require("XUi/XUiSpecialFashionShop/XUiCommodity")
function XUiGridCommodityLine:Ctor(ui)
self.GameObject = ui.gameObject
self.Transform = ui.transform
self.CommodityList = {}
XTool.InitUiObject(self)
self:InitComponent()
end
function XUiGridCommodityLine:Init(parent)
self.Parent = parent
end
function XUiGridCommodityLine:Refresh(commodityData)
if #commodityData > XSpecialShopConfigs.MAX_COUNT then
XLog.Error("XUiGridCommodityLine:Refresh函数错误commodityData长度大于XSpecialShopConfigs.MAX_COUNT")
return
end
self.CommodityData = commodityData
if commodityData.First then
self.PanelSeriesSymbol.gameObject:SetActiveEx(true)
self.TxtSeries.text = XFashionConfigs.GetSeriesName(commodityData.SeriesId)
else
self.PanelSeriesSymbol.gameObject:SetActiveEx(false)
end
self.SymbolLayoutNode:SetDirty()
self.LineLayoutNode:SetDirty()
for i, commodity in pairs(self.CommodityList) do
commodity:Refresh(commodityData[i])
end
end
function XUiGridCommodityLine:OnRecycle()
for _, commodity in pairs(self.CommodityList) do
commodity:OnRecycle()
end
end
function XUiGridCommodityLine:InitComponent()
for i = 1, XSpecialShopConfigs.MAX_COUNT do
local commodity = string.format("Commodity%s", tostring(i))
self[commodity].gameObject:SetActiveEx(false)
local commodityInst = XUiCommodity.New(self[commodity], self)
self.CommodityList[i] = commodityInst
end
end
function XUiGridCommodityLine:GetCurShopId()
return self.Parent:GetCurShopId()
end
function XUiGridCommodityLine:RefreshBuy()
self.Parent:RefreshBuy()
end
function XUiGridCommodityLine:RegisterTimerFun(id, fun)
self.Parent:RegisterTimerFun(id, fun)
end
function XUiGridCommodityLine:RemoveTimerFun(id)
self.Parent:RemoveTimerFun(id)
end
return XUiGridCommodityLine