Files
Main/Assets/GameAssets/Resources/Lua/Logic/WeekCrazy/WeekCrazySystem.lua
2025-01-25 04:38:09 +08:00

123 lines
3.4 KiB
Lua
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

------------------------------------------------
--作者: 王圣
--日期: 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