This commit is contained in:
puxuan 2025-10-20 15:28:40 +08:00
parent 812233e7d0
commit 372da3ab0d
9 changed files with 311 additions and 306 deletions

View File

@ -135,6 +135,7 @@ ModuleManager.MODULE_KEY = {
CARD_AD = "card_ad",
DUNGEON_GOLD = "dungeon_gold", -- 金币副本
DUNGEON_RES = "dungeon_res", -- 材料副本
AD_CARD = "card_ad",
}
local _moduleMgrs = {}

View File

@ -923,10 +923,9 @@ local LocalizationGlobalConst =
ADS_DESC_10 = "ADS_DESC_10",
ADS_DESC_11 = "ADS_DESC_11",
ADS_DESC_12 = "ADS_DESC_12",
ADS_DESC_13 = "ADS_DESC_13",
ADS_DESC_14 = "ADS_DESC_14",
ADS_DESC_15 = "ADS_DESC_15",
ADS_DESC_16 = "ADS_DESC_16",
IDLE_DESC_8 = "IDLE_DESC_8",
IDLE_DESC_9 = "IDLE_DESC_9",
}
return LocalizationGlobalConst

View File

@ -923,10 +923,9 @@ local localization_global =
["ADS_DESC_10"] = "放弃复活",
["ADS_DESC_11"] = "刷新齿轮",
["ADS_DESC_12"] = "是否观看广告,免费刷新齿轮?",
["ADS_DESC_13"] = "是否观看广告?",
["ADS_DESC_14"] = "双倍奖励",
["ADS_DESC_15"] = "免广告卡",
["ADS_DESC_16"] = "免广告永久有效",
["IDLE_DESC_8"] = "月卡特权",
["IDLE_DESC_9"] = "激活月卡后每日快速挂机次数无上限",
}
return localization_global

View File

@ -1357,7 +1357,7 @@ function GFunc.setAdsSprite(img, isGrey)
if not img then
return
end
local skip = false -- DataManager.MallActData:skipAd()
local skip = DataManager.PrivilegeCardData:getIsSkipAd()
local icon = nil
if isGrey then
icon = skip and "common_ad_6" or "common_ad_5"
@ -1368,7 +1368,7 @@ function GFunc.setAdsSprite(img, isGrey)
end
function GFunc.getAdSprite()
local skip = false --DataManager.MallActData:skipAd()
local skip = DataManager.PrivilegeCardData:getIsSkipAd()
return skip and "common_ad_4" or "common_ad_3"
end
@ -1431,7 +1431,7 @@ function GFunc.expandImgToFitTx(imgObj, txObj, spacing)
end
function GFunc.formatAdImg(adImg)
if DataManager.MonthlyData:skipAd() then
if DataManager.PrivilegeCardData:getIsSkipAd() then
adImg:setSprite(GConst.ATLAS_PATH.COMMON, "common_ad_1")
else
adImg:setSprite(GConst.ATLAS_PATH.COMMON, "common_ad")

View File

@ -383,6 +383,7 @@ local BUFF_NAME = {
BLUE_REFRESH_WEIGHT = "blue_refresh_weight",
PURPLE_REFRESH_WEIGHT = "purple_refresh_weight",
ATTR_MONSTER_DMG_ADD = "attr_monster_dmg_add",
ATTR_BOSS_DMG_ADD = "attr_boss_dmg_add",
HPP_RED_ADD = "hpp_red_add",
HPP_YELLOW_ADD = "hpp_yellow_add",
HPP_GREEN_ADD = "hpp_green_add",

View File

@ -4,95 +4,95 @@ function PrivilegeCardManager:showPrivilegeUI(showPage)
local params = {
showPage = showPage,
}
UIManager:showUI("app/ui/privilege/privilege_main_ui", params)
UIManager:showUI("app/ui/privilege/privilege_main_ui", params)
end
function PrivilegeCardManager:getFreeDailyRewards()
if DataManager.PrivilegeCardData:getIsClaimedFreeDailyReward() then
return
end
if DataManager.PrivilegeCardData:getIsClaimedFreeDailyReward() then
return
end
self:sendMessage(ProtoMsgType.FromMsgEnum.CardDailyRewardReq, {}, self.onGetFreeDailyRewards, BIReport.ITEM_GET_TYPE.PRIVILEGE_FREE_DAILY_REWARD)
end
function PrivilegeCardManager:onGetFreeDailyRewards(result)
if result.err_code ~= GConst.ERROR_STR.SUCCESS then
return
end
DataManager.PrivilegeCardData:onClaimedFreeDailyReward()
if result.rewards then
GFunc.showRewardBox(result.rewards)
return
end
-- BI
BIReport:postPrivilegeCardGetDailyReward(result.rewards)
DataManager.PrivilegeCardData:onClaimedFreeDailyReward()
if result.rewards then
GFunc.showRewardBox(result.rewards)
end
-- BI
BIReport:postPrivilegeCardGetDailyReward(result.rewards)
end
function PrivilegeCardManager:buyMonthlyCard()
local canBuyCard = DataManager.PrivilegeCardData:checkCanBuyMonthlyCard()
if canBuyCard then
local giftId = GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD
PayManager:purchasePackage(giftId, PayManager.PURCHARSE_TYPE.ACT_GIFT, true)
else
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.MONTHLY_CARD_17))
end
local canBuyCard = DataManager.PrivilegeCardData:checkCanBuyMonthlyCard()
if canBuyCard then
local giftId = GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD
PayManager:purchasePackage(giftId, PayManager.PURCHARSE_TYPE.ACT_GIFT, true)
else
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.MONTHLY_CARD_17))
end
end
function PrivilegeCardManager:buyChallengeCard()
local canBuyCard = DataManager.PrivilegeCardData:checkCanBuyChallengeCard()
if canBuyCard then
local giftId = GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD
PayManager:purchasePackage(giftId, PayManager.PURCHARSE_TYPE.ACT_GIFT, true)
else
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.MONTHLY_CARD_17))
end
-- local canBuyCard = DataManager.PrivilegeCardData:checkCanBuyChallengeCard()
-- if canBuyCard then
-- local giftId = GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD
-- PayManager:purchasePackage(giftId, PayManager.PURCHARSE_TYPE.ACT_GIFT, true)
-- else
-- GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.MONTHLY_CARD_17))
-- end
end
function PrivilegeCardManager:buyAdCard()
local canBuyCard = DataManager.PrivilegeCardData:checkCanBuyAdCard()
if canBuyCard then
local giftId = GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD
PayManager:purchasePackage(giftId, PayManager.PURCHARSE_TYPE.ACT_GIFT, true)
else
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.MONTHLY_CARD_17))
end
local canBuyCard = DataManager.PrivilegeCardData:checkCanBuyAdCard()
if canBuyCard then
local giftId = GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD
PayManager:purchasePackage(giftId, PayManager.PURCHARSE_TYPE.ACT_GIFT, true)
else
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.MONTHLY_CARD_17))
end
end
function PrivilegeCardManager:buyLifetimeCard()
local canBuyCard = DataManager.PrivilegeCardData:checkCanBuyLifetimeCard()
if canBuyCard then
local giftId = GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD
PayManager:purchasePackage(giftId, PayManager.PURCHARSE_TYPE.ACT_GIFT, true)
else
GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.MONTHLY_CARD_17))
end
-- local canBuyCard = DataManager.PrivilegeCardData:checkCanBuyLifetimeCard()
-- if canBuyCard then
-- local giftId = GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD
-- PayManager:purchasePackage(giftId, PayManager.PURCHARSE_TYPE.ACT_GIFT, true)
-- else
-- GFunc.showToast(I18N:getGlobalText(I18N.GlobalConst.MONTHLY_CARD_17))
-- end
end
function PrivilegeCardManager:getPurchaseCardDailyReward(id)
local itemGetType = BIReport.ITEM_GET_TYPE.PRIVILEGE_ALL_CARD_DAILY_REWARD
if id == GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD then
itemGetType = BIReport.ITEM_GET_TYPE.PRIVILEGE_MONTHLY_CARD_DAILY_REWARD
elseif id == GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD then
itemGetType = BIReport.ITEM_GET_TYPE.PRIVILEGE_LIFETIME_CARD_DAILY_REWARD
elseif id == 0 then
itemGetType = BIReport.ITEM_GET_TYPE.PRIVILEGE_ALL_CARD_DAILY_REWARD
else
return
end
self:sendMessage(ProtoMsgType.FromMsgEnum.CardRewardReq, {id = id}, self.onGetPurchaseCardDailyReward, itemGetType)
local itemGetType = BIReport.ITEM_GET_TYPE.PRIVILEGE_ALL_CARD_DAILY_REWARD
if id == GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD then
itemGetType = BIReport.ITEM_GET_TYPE.PRIVILEGE_MONTHLY_CARD_DAILY_REWARD
-- elseif id == GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD then
-- itemGetType = BIReport.ITEM_GET_TYPE.PRIVILEGE_LIFETIME_CARD_DAILY_REWARD
elseif id == 0 then
itemGetType = BIReport.ITEM_GET_TYPE.PRIVILEGE_ALL_CARD_DAILY_REWARD
else
return
end
self:sendMessage(ProtoMsgType.FromMsgEnum.CardRewardReq, {id = id}, self.onGetPurchaseCardDailyReward, itemGetType)
end
function PrivilegeCardManager:onGetPurchaseCardDailyReward(result)
if result.err_code ~= GConst.ERROR_STR.SUCCESS then
return
end
DataManager.PrivilegeCardData:onClaimedPurchaseCardDailyReward(result.reqData.id)
if result.reqData.id == 0 then
DataManager.PrivilegeCardData:onClaimedFreeDailyReward()
end
if result.rewards then
GFunc.showRewardBox(result.rewards)
return
end
-- BI
BIReport:postPrivilegeCardGetPurchaseDailyReward(result.rewards, result.reqData.id)
DataManager.PrivilegeCardData:onClaimedPurchaseCardDailyReward(result.reqData.id)
if result.reqData.id == 0 then
DataManager.PrivilegeCardData:onClaimedFreeDailyReward()
end
if result.rewards then
GFunc.showRewardBox(result.rewards)
end
-- BI
BIReport:postPrivilegeCardGetPurchaseDailyReward(result.rewards, result.reqData.id)
end
--region 上报

View File

@ -81,7 +81,9 @@ function IdleDropUI:onLoadRootComplete()
self.adTimesTx = uiMap["idle_drop_ui.bg.ad_times_tx"]
self.quickTimesTx = uiMap["idle_drop_ui.bg.quick_times_tx"]
self.adBtn:addClickListener(function()
ModuleManager.IdleManager:getIdleQuickRewrad(true)
SDKManager:showFullScreenAds(BIReport.ADS_CLICK_TYPE.IDLE_QUICK_DROP, function()
ModuleManager.IdleManager:getIdleQuickRewrad(true)
end)
end)
self.privilegeBtn = uiMap["idle_drop_ui.bg.privilege_btn"]
self.privilegeBtn:addClickListener(function()
@ -89,8 +91,8 @@ function IdleDropUI:onLoadRootComplete()
end)
uiMap["idle_drop_ui.bg.desc_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.CLICK_CLOSE_DESC))
uiMap["idle_drop_ui.bg.bg1.desc_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.IDLE_DROP_DESC_3))
uiMap["idle_drop_ui.bg.bg1.desc_tx_1"]:setText(I18N:getGlobalText(I18N.GlobalConst.IDLE_DROP_DESC_3))
uiMap["idle_drop_ui.bg.bg1.desc_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.IDLE_DESC_8))
uiMap["idle_drop_ui.bg.bg1.desc_tx_1"]:setText(I18N:getGlobalText(I18N.GlobalConst.IDLE_DESC_9))
self.fightRoot = self.uiMap["idle_drop_ui.bg.fight_root"]
@ -212,6 +214,8 @@ end
function IdleDropUI:onRefresh()
self:refreshRewards()
self:refreshBtns()
GFunc.setAdsSprite(self.adBtnImg)
end
function IdleDropUI:refreshRewards()

View File

@ -94,11 +94,11 @@ function MonthlyCardComp:refresh()
end
if rewards and rewards[1] then
local num = count*rewards[1].num
self.rewadCell1:showRewardNum(GFunc.num2Str(num))
self.rewadCell1:setNumTx(GFunc.num2Str(num))
end
if rewards and rewards[2] then
local num = count*rewards[2].num
self.rewadCell12:showRewardNum(GFunc.num2Str(num))
self.rewadCell12:setNumTx(GFunc.num2Str(num))
end
self.rewadCell1:showFrameAnimation()
self.rewadCell1:addClickListener(function()
@ -126,12 +126,12 @@ function MonthlyCardComp:refresh()
if rewards and rewards[1] then
local num = count*rewards[1].num
self.rewadCell1:refreshByConfig(rewards[1], false, false)
self.rewadCell1:showRewardNum(GFunc.num2Str(num))
self.rewadCell1:setNumTx(GFunc.num2Str(num))
end
if rewards and rewards[2] then
local num = count*rewards[2].num
self.rewadCell12:refreshByConfig(rewards[2], false, false)
self.rewadCell12:showRewardNum(GFunc.num2Str(num))
self.rewadCell12:setNumTx(GFunc.num2Str(num))
end
self.rewadCell1:showFrameAnimation()
self.rewadCell1:addClickListener(function()

View File

@ -1,285 +1,286 @@
local PrivilegeCardData = class("PrivilegeCardData", BaseData)
function PrivilegeCardData:ctor()
self.data.isDirty = false
self.data.isDirty = false
end
function PrivilegeCardData:clear()
DataManager:unregisterCrossDayFunc("PrivilegeCardData")
DataManager:unregisterCrossDayFunc("PrivilegeCardData")
end
function PrivilegeCardData:setDirty()
self.data.isDirty = not self.data.isDirty
self.data.isDirty = not self.data.isDirty
end
function PrivilegeCardData:init(data)
if EDITOR_MODE then
Logger.logHighlight("初始化特权卡数据")
Logger.printTable(data)
end
data = data or GConst.EMPTY_TABLE
self.cardData = data.cards or {}
self.isClaimedFreeDailyReward = data.claimed
DataManager:registerCrossDayFunc("PrivilegeCardData", function()
self.isClaimedFreeDailyReward = false
if self:getIsCardActive(GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD) then
self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD].reward = (self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD].reward or 0) + 1
end
if self:getIsCardActive(GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD) then
self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD].reward = (self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD].reward or 0) + 1
end
self:setDirty()
end)
if EDITOR_MODE then
Logger.logHighlight("初始化特权卡数据")
Logger.printTable(data)
end
data = data or GConst.EMPTY_TABLE
self.cardData = data.cards or {}
self.isClaimedFreeDailyReward = data.claimed
DataManager:registerCrossDayFunc("PrivilegeCardData", function()
self.isClaimedFreeDailyReward = false
if self:getIsCardActive(GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD) then
self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD].reward = (self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD].reward or 0) + 1
end
-- if self:getIsCardActive(GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD) then
-- self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD].reward = (self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD].reward or 0) + 1
-- end
self:setDirty()
end)
end
function PrivilegeCardData:getIsClaimedFreeDailyReward()
return self.isClaimedFreeDailyReward
return self.isClaimedFreeDailyReward
end
function PrivilegeCardData:getIsOpen(cardId)
if GFunc.isShenhe() then
return false
end
if cardId then
if cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD then
if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.MONTHLY_CARD, true) then
return false
end
elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD then
if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.AD_CARD, true) then
return false
end
elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD then
if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.LIFETIME_CARD, true) then
return false
end
elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD then
if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.CHALLEGE_CARD, true) then
return false
end
end
else
local isOpen = false
for k, v in pairs(GConst.ShopConst.PRIVILEGE_CARD_ID) do
if self:getIsOpen(v) then
isOpen = true
break
end
end
return isOpen
end
return true
if GFunc.isShenhe() then
return false
end
if cardId then
if cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD then
if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.MONTHLY_CARD, true) then
return false
end
elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD then
if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.AD_CARD, true) then
return false
end
-- elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD then
-- if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.LIFETIME_CARD, true) then
-- return false
-- end
-- elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD then
-- if not ModuleManager:getIsOpen(ModuleManager.MODULE_KEY.CHALLEGE_CARD, true) then
-- return false
-- end
end
else
local isOpen = false
for k, v in pairs(GConst.ShopConst.PRIVILEGE_CARD_ID) do
if self:getIsOpen(v) then
isOpen = true
break
end
end
return isOpen
end
return true
end
function PrivilegeCardData:onClaimedFreeDailyReward()
self.isClaimedFreeDailyReward = true
self:setDirty()
self.isClaimedFreeDailyReward = true
self:setDirty()
end
function PrivilegeCardData:onClaimedPurchaseCardDailyReward(id)
if id == 0 then -- 一键全领
if self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD] then
self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD].reward = 0
end
if self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD] then
self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD].reward = 0
end
elseif id == GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD then
if self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD] then
self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD].reward = 0
end
elseif id == GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD then
if self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD] then
self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD].reward = 0
end
end
self:setDirty()
if id == 0 then -- 一键全领
if self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD] then
self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD].reward = 0
end
-- if self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD] then
-- self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD].reward = 0
-- end
elseif id == GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD then
if self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD] then
self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD].reward = 0
end
-- elseif id == GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD then
-- if self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD] then
-- self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD].reward = 0
-- end
end
self:setDirty()
end
function PrivilegeCardData:getIsMonthlyCardOpen()
return self:getIsOpen(GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD)
return self:getIsOpen(GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD)
end
function PrivilegeCardData:checkCanBuyMonthlyCard()
if self:getIsOpen(GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD) then
local remainTime = self:getCardRemainTime(GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD)
return remainTime <= 0
end
return false
if self:getIsOpen(GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD) then
local remainTime = self:getCardRemainTime(GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD)
return remainTime <= 0
end
return false
end
function PrivilegeCardData:getIsChallengeCardOpen()
return self:getIsOpen(GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD)
-- return self:getIsOpen(GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD)
end
function PrivilegeCardData:checkCanBuyChallengeCard()
if self:getIsOpen(GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD) then
local remainTime = self:getCardRemainTime(GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD)
return remainTime <= 0
end
return false
-- if self:getIsOpen(GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD) then
-- local remainTime = self:getCardRemainTime(GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD)
-- return remainTime <= 0
-- end
return false
end
function PrivilegeCardData:getIsAdCardOpen()
return self:getIsOpen(GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD)
return self:getIsOpen(GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD)
end
function PrivilegeCardData:checkCanBuyAdCard()
if self:getIsOpen(GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD) then
local data = self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD]
if data == nil then
return true
end
if data.expire_at == nil then
return true
end
if data.expire_at >= 0 then
local remainTime = Time:getDayBeginTimeStamp(data.expire_at) - Time:getServerTime()
if remainTime <= 0 then
return true
end
end
end
return false
if self:getIsOpen(GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD) then
local data = self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD]
if data == nil then
return true
end
if data.expire_at == nil then
return true
end
if data.expire_at >= 0 then
local remainTime = Time:getDayBeginTimeStamp(data.expire_at) - Time:getServerTime()
if remainTime <= 0 then
return true
end
end
end
return false
end
function PrivilegeCardData:getIsLifetimeCardOpen()
return self:getIsOpen(GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD)
-- return self:getIsOpen(GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD)
end
function PrivilegeCardData:checkCanBuyLifetimeCard()
if self:getIsOpen(GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD) then
local data = self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD]
if data == nil then
return true
end
if data.expire_at == nil then
return true
end
if data.expire_at >= 0 then
local remainTime = Time:getDayBeginTimeStamp(data.expire_at) - Time:getServerTime()
if remainTime <= 0 then
return true
end
end
end
return false
-- if self:getIsOpen(GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD) then
-- local data = self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD]
-- if data == nil then
-- return true
-- end
-- if data.expire_at == nil then
-- return true
-- end
-- if data.expire_at >= 0 then
-- local remainTime = Time:getDayBeginTimeStamp(data.expire_at) - Time:getServerTime()
-- if remainTime <= 0 then
-- return true
-- end
-- end
-- end
return false
end
function PrivilegeCardData:getIsLifetimeCardActive()
return self:getIsCardActive(GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD)
-- return self:getIsCardActive(GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD)
end
function PrivilegeCardData:getIsSkipAd()
if self:getIsCardActive(GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD) then
return true
end
return false
return true
-- if self:getIsCardActive(GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD) then
-- return true
-- end
-- return false
end
function PrivilegeCardData:getIsChallegeCardActive()
return self:getIsCardActive(GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD)
-- return self:getIsCardActive(GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD)
end
function PrivilegeCardData:getIsMonthlyCardActive()
return self:getIsCardActive(GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD)
return self:getIsCardActive(GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD)
end
function PrivilegeCardData:getIsCardActive(cardId)
if cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD then
local remainTime = self:getCardRemainTime(cardId)
return remainTime > 0
elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD then
local data = self.cardData[cardId]
if data and data.expire_at < 0 then
return true
end
elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD then
local data = self.cardData[cardId]
if data and data.expire_at < 0 then
return true
end
elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD then
local remainTime = self:getCardRemainTime(cardId)
return remainTime > 0
end
return false
if cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD then
local remainTime = self:getCardRemainTime(cardId)
return remainTime > 0
elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD then
local data = self.cardData[cardId]
if data and data.expire_at < 0 then
return true
end
-- elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD then
-- local data = self.cardData[cardId]
-- if data and data.expire_at < 0 then
-- return true
-- end
-- elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD then
-- local remainTime = self:getCardRemainTime(cardId)
-- return remainTime > 0
end
return false
end
function PrivilegeCardData:getCardRemainTime(cardId)
local data = self.cardData[cardId]
if data == nil or data.expire_at <= 0 then
return 0
end
local remainTime = Time:getDayBeginTimeStamp(data.expire_at) - Time:getServerTime()
if remainTime > 0 then
return remainTime
else
return 0
end
local data = self.cardData[cardId]
if data == nil or data.expire_at <= 0 then
return 0
end
local remainTime = Time:getDayBeginTimeStamp(data.expire_at) - Time:getServerTime()
if remainTime > 0 then
return remainTime
else
return 0
end
end
-- 月卡购买一次增加的累计天数
function PrivilegeCardData:getMonthlyCardOneTurnDays()
return GFunc.getConstIntValue("card_monthly_days")
return GFunc.getConstIntValue("card_monthly_days")
end
-- 购买成功
function PrivilegeCardData:onGiftBuySuccess(cardId)
if cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD then
if self:getIsCardActive(cardId) then
self.cardData[cardId].expire_at = self.cardData[cardId].expire_at + self:getMonthlyCardOneTurnDays() * 86400
else
self.cardData[cardId] = self.cardData[cardId] or {}
self.cardData[cardId].expire_at = Time:getServerTime() + self:getMonthlyCardOneTurnDays() * 86400
local rewardCount = self.cardData[cardId].reward or 0
if rewardCount <= 0 then
rewardCount = 1
else
rewardCount = rewardCount + 1
end
self.cardData[cardId].reward = rewardCount
end
elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD then
if not self:getIsCardActive(cardId) then
self.cardData[cardId] = self.cardData[cardId] or {}
self.cardData[cardId].expire_at = -1
end
-- 刷新广告图标
UIManager:refreshAllAdImg()
-- 局内事件
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.NO_AD_ACTIVE)
elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD then
if not self:getIsCardActive(cardId) then
self.cardData[cardId] = self.cardData[cardId] or {}
self.cardData[cardId].expire_at = -1
local rewardCount = self.cardData[cardId].reward or 0
if rewardCount <= 0 then
rewardCount = 1
else
rewardCount = rewardCount + 1
end
self.cardData[cardId].reward = rewardCount
end
elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD then
if self:getIsCardActive(cardId) then
self.cardData[cardId].expire_at = self.cardData[cardId].expire_at + self:getMonthlyCardOneTurnDays() * 86400
else
self.cardData[cardId] = self.cardData[cardId] or {}
self.cardData[cardId].expire_at = Time:getServerTime() + self:getMonthlyCardOneTurnDays() * 86400
end
-- 购买成功添加体力
local recoveryCfg = ConfigManager:getConfig("recovery")[GConst.ItemConst.ITEM_ID_VIT]
local addVit = recoveryCfg and recoveryCfg.monthly_card or 0
DataManager.BagData.ItemData:addItemReward({type = GConst.REWARD_TYPE.ITEM, id = GConst.ItemConst.ITEM_ID_VIT, num = addVit}, BIReport.ITEM_GET_TYPE.PRIVILEGE_CHALLENGE_CARD)
end
if cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD then
if self:getIsCardActive(cardId) then
self.cardData[cardId].expire_at = self.cardData[cardId].expire_at + self:getMonthlyCardOneTurnDays() * 86400
else
self.cardData[cardId] = self.cardData[cardId] or {}
self.cardData[cardId].expire_at = Time:getServerTime() + self:getMonthlyCardOneTurnDays() * 86400
local rewardCount = self.cardData[cardId].reward or 0
if rewardCount <= 0 then
rewardCount = 1
else
rewardCount = rewardCount + 1
end
self.cardData[cardId].reward = rewardCount
end
elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.AD_CARD then
if not self:getIsCardActive(cardId) then
self.cardData[cardId] = self.cardData[cardId] or {}
self.cardData[cardId].expire_at = -1
end
-- 刷新广告图标
UIManager:refreshAllAdImg()
-- 局内事件
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.NO_AD_ACTIVE)
-- elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD then
-- if not self:getIsCardActive(cardId) then
-- self.cardData[cardId] = self.cardData[cardId] or {}
-- self.cardData[cardId].expire_at = -1
-- local rewardCount = self.cardData[cardId].reward or 0
-- if rewardCount <= 0 then
-- rewardCount = 1
-- else
-- rewardCount = rewardCount + 1
-- end
-- self.cardData[cardId].reward = rewardCount
-- end
-- elseif cardId == GConst.ShopConst.PRIVILEGE_CARD_ID.CHALLEGE_CARD then
-- if self:getIsCardActive(cardId) then
-- self.cardData[cardId].expire_at = self.cardData[cardId].expire_at + self:getMonthlyCardOneTurnDays() * 86400
-- else
-- self.cardData[cardId] = self.cardData[cardId] or {}
-- self.cardData[cardId].expire_at = Time:getServerTime() + self:getMonthlyCardOneTurnDays() * 86400
-- end
-- -- 购买成功添加体力
-- local recoveryCfg = ConfigManager:getConfig("recovery")[GConst.ItemConst.ITEM_ID_VIT]
-- local addVit = recoveryCfg and recoveryCfg.monthly_card or 0
-- DataManager.BagData.ItemData:addItemReward({type = GConst.REWARD_TYPE.ITEM, id = GConst.ItemConst.ITEM_ID_VIT, num = addVit}, BIReport.ITEM_GET_TYPE.PRIVILEGE_CHALLENGE_CARD)
end
self:setDirty()
self:setDirty()
end
function PrivilegeCardData:getRedPoint()
local haveUnclaimedRewards = false
if not self:getIsClaimedFreeDailyReward() then
local haveUnclaimedRewards = false
if not self:getIsClaimedFreeDailyReward() then
haveUnclaimedRewards = true
end
if self:getIsMonthlyCardOpen() then
@ -305,48 +306,48 @@ end
-- 月卡
function PrivilegeCardData:getIsClaimedMonthlyCardDailyReward()
if self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD] then
local count = self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD].reward or 0
return count <= 0
end
return false
if self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD] then
local count = self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD].reward or 0
return count <= 0
end
return false
end
function PrivilegeCardData:getUnclaimedMonthlyCardDailyRewardCount()
if self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD] then
return self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD].reward or 0
end
return 0
if self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD] then
return self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.MONTHLY_CARD].reward or 0
end
return 0
end
function PrivilegeCardData:getMonthlyCardDailyRewards()
if self._monthlyCardDailyRewards == nil then
self._monthlyCardDailyRewards = GFunc.getConstCost("card_monthly_dailyreward", true)
end
return self._monthlyCardDailyRewards
if self._monthlyCardDailyRewards == nil then
self._monthlyCardDailyRewards = GFunc.getConstCost("card_monthly_dailyreward", true)
end
return self._monthlyCardDailyRewards
end
-- 终身卡
function PrivilegeCardData:getIsClaimedLifetimeCardDailyReward()
if self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD] then
local count = self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD].reward or 0
return count <= 0
end
return false
-- if self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD] then
-- local count = self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD].reward or 0
-- return count <= 0
-- end
return false
end
function PrivilegeCardData:getUnclaimedLifetimeCardDailyRewardCount()
if self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD] then
return self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD].reward or 0
end
return 0
-- if self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD] then
-- return self.cardData[GConst.ShopConst.PRIVILEGE_CARD_ID.LIFETIME_CARD].reward or 0
-- end
return 0
end
function PrivilegeCardData:getLifetimeCardDailyRewards()
if self._lifetimeCardDailyRewards == nil then
self._lifetimeCardDailyRewards = GFunc.getConstCost("card_forever_dailyreward", true)
end
return self._lifetimeCardDailyRewards
if self._lifetimeCardDailyRewards == nil then
self._lifetimeCardDailyRewards = GFunc.getConstCost("card_forever_dailyreward", true)
end
return self._lifetimeCardDailyRewards
end
return PrivilegeCardData