69 lines
1.2 KiB
Plaintext
69 lines
1.2 KiB
Plaintext
autoImport("ShopItemData")
|
|
|
|
ShopData = class("ShopData")
|
|
|
|
local tempTable = {}
|
|
|
|
function ShopData:ctor(data)
|
|
self.goods = {}
|
|
|
|
self:SetData(data)
|
|
end
|
|
|
|
function ShopData:SetData(data)
|
|
if data then
|
|
self.type = data.shoptype
|
|
self.shopID = data.shopid
|
|
self.screen = data.screen
|
|
|
|
TableUtility.TableClear(tempTable)
|
|
for i=1,#data.goods do
|
|
local goods = data.goods[i]
|
|
self:AddShopItemData(goods)
|
|
|
|
local id = goods.id
|
|
tempTable[id] = id
|
|
end
|
|
|
|
--刪除已移除數據
|
|
for k,v in pairs(self.goods) do
|
|
if tempTable[k] == nil then
|
|
self.goods[k] = nil
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function ShopData:SetNextValidTime(time)
|
|
self.callTime = Time.unscaledTime + time
|
|
end
|
|
|
|
function ShopData:AddShopItemData(data)
|
|
local id = data.id
|
|
if id ~= nil then
|
|
if self.goods[id] == nil then
|
|
self.goods[id] = ShopItemData.new(data)
|
|
else
|
|
self.goods[id]:SetData(data)
|
|
end
|
|
end
|
|
end
|
|
|
|
function ShopData:RemoveShopItemData(id)
|
|
if id ~= nil then
|
|
self.goods[id] = nil
|
|
end
|
|
end
|
|
|
|
function ShopData:GetNextValidTime()
|
|
return self.callTime
|
|
end
|
|
|
|
function ShopData:GetGoods()
|
|
return self.goods
|
|
end
|
|
|
|
--是否分頁
|
|
function ShopData:CheckScreen()
|
|
return self.screen == 1
|
|
end |