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", CARD_AD = "card_ad",
DUNGEON_GOLD = "dungeon_gold", -- 金币副本 DUNGEON_GOLD = "dungeon_gold", -- 金币副本
DUNGEON_RES = "dungeon_res", -- 材料副本 DUNGEON_RES = "dungeon_res", -- 材料副本
AD_CARD = "card_ad",
} }
local _moduleMgrs = {} local _moduleMgrs = {}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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