【五级前不显示任何活动】

dev_chengFeng
ZhangBiao 2021-03-23 20:28:31 +08:00
parent 207d85e2a2
commit c9670aae58
2 changed files with 91 additions and 58 deletions

View File

@ -426,4 +426,31 @@ function this.GetActivityTableDataByPageInde(pageIndex)
return activityGroupsData
end
-- 玩家是否有资格开启
function this.IsQualifiled(id)
-- 相同类型活动解锁类型相同,所以只判断第一个
local data = ConfigManager.GetConfigData(ConfigName.ActivityGroups,id)
LogGreen("data:"..tostring(data))
if not data then return true end
-- 当前玩家等级
local qualifiled = false
local playerLv = PlayerManager.level
local openRule = data.OpenRules
LogGreen("openRule:"..tostring(openRule))
if not openRule or #openRule < 1 then
return true
end
LogGreen("openRule[1]:"..openRule[1].." openRule[2]:"..openRule[2])
if openRule[1] == 1 then -- 关卡开启
qualifiled = FightPointPassManager.IsFightPointPass(openRule[2])
elseif openRule[1] == 2 then -- 等级开启
qualifiled = playerLv >= openRule[2]
elseif openRule[1] == 3 then -- 工坊等级开启
qualifiled = WorkShopManager.WorkShopData.lv >= openRule[2]
end
LogGreen("id:"..id.." qualifiled:"..tostring(qualifiled))
return qualifiled
end
return this

View File

@ -1195,76 +1195,82 @@ function this.RefreshActivityShow()
--八日登陆
this.RefreshEightGiftPreview()
for k,v in ipairs(activitys) do
if v.ActiveType == 0 and v.FunType == 0 then
if v.ActId == 666 then
--限时折扣
local giftList = {}
giftList = OperatingManager.GetInfoList()
if #giftList > 0 then
local time = giftList[1].endTime - GetTimeStamp()
if time < 1 then
OperatingManager.RemoveItemInfoByType(GoodsTypeDef.DirectPurchaseGift, giftList[1].goodsId)
activityTabs[k].go.gameObject:SetActive(false)
else
activityTabs[k].go.gameObject:SetActive(true)
end
else
activityTabs[k].go.gameObject:SetActive(false)
end
elseif v.ActId == 668 then
--超值基金
local isOpen_128 = OperatingManager.IsBaseOpen(GoodsTypeDef.MONTHCARD_128)
local isOpen_328 = OperatingManager.IsBaseOpen(GoodsTypeDef.MONTHCARD_328)
activityTabs[k].go.gameObject:SetActive(isOpen_128 or isOpen_328)
local cardType = nil
if isOpen_328 then
cardType = GoodsTypeDef.MONTHCARD_328
end
if not cardType and isOpen_128 then
cardType = GoodsTypeDef.MONTHCARD_328
end
if cardType then
local data = OperatingManager.GetGiftGoodsInfo(cardType)
if data then
local time = data.endTime - PlayerManager.serverTime
for k,v in ipairs(activitys) do
local ishow = DynamicActivityManager.IsQualifiled(v.Id)
if ishow then
if v.ActiveType < 1 and v.FunType < 1 then
if v.ActId == 666 then
--限时折扣
local giftList = {}
giftList = OperatingManager.GetInfoList()
if #giftList > 0 then
local time = giftList[1].endTime - GetTimeStamp()
if time < 1 then
OperatingManager.RemoveItemInfoByType(GoodsTypeDef.DirectPurchaseGift, giftList[1].goodsId)
activityTabs[k].go.gameObject:SetActive(false)
else
activityTabs[k].go.gameObject:SetActive(true)
end
end
end
end
elseif v.ActiveType > 0 then
local activityId = ActivityGiftManager.IsActivityTypeOpen(v.ActiveType)
if activityId and activityId > 0 and ActivityGiftManager.IsQualifiled(v.ActiveType) then
if v.ActiveType == 42 then
if ActivityGiftManager.GetRewardState(42) ~= 3 then
local endTime = ActivityGiftManager.GetTaskEndTime(ActivityTypeDef.SupremeHero)
if endTime - PlayerManager.serverTime > 0 then
activityTabs[k].go.gameObject:SetActive(true)
else
activityTabs[k].go.gameObject:SetActive(false)
end
else
activityTabs[k].go.gameObject:SetActive(false)
activityTabs[k].go.gameObject:SetActive(false)
end
elseif v.ActId == 668 then
--超值基金
local isOpen_128 = OperatingManager.IsBaseOpen(GoodsTypeDef.MONTHCARD_128)
local isOpen_328 = OperatingManager.IsBaseOpen(GoodsTypeDef.MONTHCARD_328)
activityTabs[k].go.gameObject:SetActive(isOpen_128 or isOpen_328)
local cardType = nil
if isOpen_328 then
cardType = GoodsTypeDef.MONTHCARD_328
end
if not cardType and isOpen_128 then
cardType = GoodsTypeDef.MONTHCARD_328
end
if cardType then
local data = OperatingManager.GetGiftGoodsInfo(cardType)
if data then
local time = data.endTime - PlayerManager.serverTime
if time < 1 then
activityTabs[k].go.gameObject:SetActive(false)
else
activityTabs[k].go.gameObject:SetActive(true)
end
end
end
end
elseif v.ActiveType > 0 then
local activityId = ActivityGiftManager.IsActivityTypeOpen(v.ActiveType)
if activityId and activityId > 0 and ActivityGiftManager.IsQualifiled(v.ActiveType) then
if v.ActiveType == 42 then
if ActivityGiftManager.GetRewardState(42) ~= 3 then
local endTime = ActivityGiftManager.GetTaskEndTime(ActivityTypeDef.SupremeHero)
if endTime - PlayerManager.serverTime > 0 then
activityTabs[k].go.gameObject:SetActive(true)
else
activityTabs[k].go.gameObject:SetActive(false)
end
else
activityTabs[k].go.gameObject:SetActive(false)
end
else
activityTabs[k].go.gameObject:SetActive(true)
end
else
activityTabs[k].go.gameObject:SetActive(true)
end
activityTabs[k].go.gameObject:SetActive(false)
end
elseif v.FunType > 0 then
if ActTimeCtrlManager.SingleFuncState(v.FunType) then
activityTabs[k].go.gameObject:SetActive(true)
else
activityTabs[k].go.gameObject:SetActive(false)
end
else
activityTabs[k].go.gameObject:SetActive(false)
end
elseif v.FunType > 0 then
if ActTimeCtrlManager.SingleFuncState(v.FunType) then
activityTabs[k].go.gameObject:SetActive(true)
else
activityTabs[k].go.gameObject:SetActive(false)
activityTabs[k].go.gameObject:SetActive(false)
end
else
activityTabs[k].go.gameObject:SetActive(false)
activityTabs[k].go.gameObject:SetActive(false)
end
end
end