Files
Main/Assets/GameAssets/Resources/Lua/Logic/WeekCrazy/WeekCrazySystem.lua

123 lines
3.4 KiB
Lua
Raw Normal View History

2025-01-25 04:38:09 +08:00
------------------------------------------------
--作者: 王圣
--日期: 2020-08-31
--文件: WeekCrazySystem.lua
--模块: WeekCrazySystem
--描述: 周六狂欢系统
------------------------------------------------
--引用
local TimeUtils = CS.Thousandto.Core.Base.TimeUtils;
local WeekCrazySystem = {
--开始时间
StartTime = 0,
--结束时间时间
EndTime = 0,
--结束时间搓
RealEndTime = 0,
--购买数据
--{Id:商品Id, ListItem物品列表 , Price: 价格, IsBuy : 是否购买 }
ListData = List:New()
}
function WeekCrazySystem:Initialize()
end
--获取商品列表
function WeekCrazySystem:GetDatas()
local occ = GameCenter.GameSceneSystem:GetLocalPlayer().IntOcc
if #self.ListData == 0 then
DataConfig.DataHappyWeek:Foreach(function(k, v)
local day = v.Day
if day == 6 then
local id = v.RechargeID
local des = v._Des
local isBuy = false
local cfg = GameCenter.PaySystem.PayDataIdDict[id]
local price = GameCenter.PaySystem:GetMoneyCountById(id)
local itemList = List:New()
local list = Utils.SplitStr(cfg.ServerCfgData.Reward, ';')
for i = 1,#list do
local subList = Utils.SplitNumber(list[i], '_')
if occ == subList[4] or subList[4] == 9 then
itemList:Add({Id = subList[1], Num = subList[2], IsBind = subList[3] == 1})
break
end
end
local data = {Id = id, Des = des, Price = price, IsBuy = isBuy, ListItem = itemList}
self.ListData:Add(data)
end
end)
end
return self.ListData
end
--获取商品id
function WeekCrazySystem:GetId(index)
local dataList = self:GetDatas()
if index <= #dataList then
return dataList[index].Id
end
return 0
end
--获取数据
function WeekCrazySystem:GetData(index)
local dataList = self:GetDatas()
if index <= #dataList then
return dataList[index]
end
return nil
end
--获取物品列表
function WeekCrazySystem:GetGoods(index)
local data = self:GetData(index)
if data == nil then
return nil
end
return data.ListItem
end
--获取商品数量
function WeekCrazySystem:GetCount()
local dataList = self:GetDatas()
return #dataList
end
--通过索引获取商品价格
function WeekCrazySystem:GetPrice(index)
local data = self:GetData(index)
if data == nil then
return 0
end
local price = GameCenter.PaySystem:GetMoneyCountById(data.Id)
return price
end
--获取描述
function WeekCrazySystem:GetDes(index)
local data = self:GetData(index)
if data == nil then
return nil
end
return data.Des
end
--获取剩余时间
function WeekCrazySystem:GetLeftTime()
local serveTime = GameCenter.HeartSystem.ServerZoneTime
local week = TimeUtils.GetStampTimeWeeklyNotZone(math.ceil(serveTime))
local hour, min, sec = TimeUtils.GetStampTimeHHMMSSNotZone(math.floor(serveTime))
local curSeconds = hour * 3600 + min * 60 + sec
if week == 0 then
week = 7
end
local endTime = 6 * 24 * 3600
local curTime = (week - 1) * 24 * 3600 + curSeconds
self.RealEndTime = endTime - curTime
return self.RealEndTime
end
return WeekCrazySystem