93 lines
2.2 KiB
Plaintext
93 lines
2.2 KiB
Plaintext
autoImport("AELotteryDiscountData")
|
|
autoImport("AELotteryBannerData")
|
|
|
|
AELotteryData = class("AELotteryData")
|
|
|
|
function AELotteryData:ctor(data)
|
|
self.discountMap = {}
|
|
self.bannerMap = {}
|
|
end
|
|
|
|
function AELotteryData:SetDiscount(data)
|
|
if data ~= nil then
|
|
local lotterydiscount = data.lotterydiscount
|
|
local lotterytype = lotterydiscount.lotterytype
|
|
|
|
local info = self:CheckIsExistDiscount(lotterydiscount)
|
|
if info == nil then
|
|
local discount = AELotteryDiscountData.new(data)
|
|
TableUtility.ArrayPushBack(self.discountMap[lotterytype], discount)
|
|
else
|
|
info:SetData(data)
|
|
end
|
|
end
|
|
end
|
|
|
|
function AELotteryData:SetBanner(data)
|
|
if data ~= nil then
|
|
local lotterytype = data.lotterybanner.lotterytype
|
|
|
|
if self.bannerMap[lotterytype] == nil then
|
|
self.bannerMap[lotterytype] = AELotteryBannerData.new()
|
|
end
|
|
self.bannerMap[lotterytype]:SetData(data)
|
|
end
|
|
end
|
|
|
|
function AELotteryData:CheckIsExistDiscount(data)
|
|
local lotterytype = data.lotterytype
|
|
|
|
if self.discountMap[lotterytype] == nil then
|
|
self.discountMap[lotterytype] = {}
|
|
return
|
|
end
|
|
|
|
for i=1,#self.discountMap[lotterytype] do
|
|
local info = self.discountMap[lotterytype][i]
|
|
if data.yearmonth ~= 0 then
|
|
if info.yearmonth == data.yearmonth and info.cointype == data.cointype then
|
|
return info
|
|
end
|
|
elseif info.cointype == data.cointype then
|
|
return info
|
|
end
|
|
end
|
|
end
|
|
|
|
function AELotteryData:GetDiscount(lotterytype)
|
|
return self.discountMap[lotterytype]
|
|
end
|
|
|
|
function AELotteryData:GetDiscountByCoinType(lotterytype, cointype, year, month)
|
|
local list = self:GetDiscount(lotterytype)
|
|
if list ~= nil then
|
|
for i=1,#list do
|
|
local data = list[i]
|
|
if month ~= nil and year ~= nil then
|
|
if data.month == month and data.year == year and data.cointype == cointype then
|
|
return data
|
|
end
|
|
elseif data.cointype == cointype then
|
|
return data
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function AELotteryData:GetBannerPath(lotterytype)
|
|
local data = self.bannerMap[lotterytype]
|
|
if data ~= nil and data:IsInActivity() then
|
|
return data:GetPath()
|
|
end
|
|
end
|
|
|
|
function AELotteryData:GetDiscountDataById(id)
|
|
for k,v in pairs(self.discountMap) do
|
|
for i=1,#v do
|
|
local data = v[i]
|
|
if data.id == id then
|
|
return data
|
|
end
|
|
end
|
|
end
|
|
end |