73 lines
1.9 KiB
Lua
73 lines
1.9 KiB
Lua
local FundManager = class("FundManager", BaseModule)
|
|
|
|
function FundManager:showLevelFundUI()
|
|
UIManager:showUI("app/ui/fund/level_fund_ui")
|
|
end
|
|
|
|
function FundManager:buyLevelFund(id)
|
|
if not DataManager.FundData:getIsOpen() then
|
|
return
|
|
end
|
|
PayManager:purchasePackage(id, PayManager.PURCHARSE_TYPE.ACT_GIFT)
|
|
end
|
|
|
|
function FundManager:claimFundRewards()
|
|
local claimRewards = {}
|
|
local playerLevel = DataManager.PlayerData:getLv()
|
|
local FundData = DataManager.FundData
|
|
local levelInfoIds = FundData:getCurrLevelInfoList()
|
|
local isBoughtBase = FundData:getIsBoughtBase()
|
|
local isBoughtAdvance = FundData:getIsBoughtAdvance()
|
|
local freeClaimed = FundData:getFreeClaimedMap()
|
|
local baseClaimed = FundData:getBaseClaimedMap()
|
|
local advanceClaimed = FundData:getAdvanceClaimedMap()
|
|
for _, id in ipairs(levelInfoIds) do
|
|
local levelFundInfo = FundData:getLevelFundCfg()[id]
|
|
if levelFundInfo then
|
|
if playerLevel >= levelFundInfo.level then -- 等级到了
|
|
if not freeClaimed[id] then -- 能领但是没有领
|
|
table.insert(claimRewards, {
|
|
id = id,
|
|
grade = 0
|
|
})
|
|
end
|
|
if isBoughtBase then
|
|
if not baseClaimed[id] then -- 能领但是没有领
|
|
table.insert(claimRewards, {
|
|
id = id,
|
|
grade = 1
|
|
})
|
|
end
|
|
end
|
|
if isBoughtAdvance then
|
|
if not advanceClaimed[id] then -- 能领但是没有领
|
|
table.insert(claimRewards, {
|
|
id = id,
|
|
grade = 2
|
|
})
|
|
end
|
|
end
|
|
else
|
|
break
|
|
end
|
|
end
|
|
end
|
|
if #claimRewards <= 0 then
|
|
return
|
|
end
|
|
local args = {
|
|
id_with_lv = claimRewards
|
|
}
|
|
self:sendMessage(ProtoMsgType.FromMsgEnum.FundAwardReq, args, {}, self.onClaimFundRewards, BIReport.ITEM_GET_TYPE.BOUNTY_REWARD)
|
|
end
|
|
|
|
function FundManager:onClaimFundRewards(result)
|
|
if result.err_code == GConst.ERROR_STR.SUCCESS then
|
|
if result.rewards then
|
|
GFunc.showRewardBox(result.rewards)
|
|
end
|
|
DataManager.FundData:onClaimFundRewards(result.id_with_lv)
|
|
end
|
|
end
|
|
|
|
return FundManager |