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