c1_lua/lua/app/ui/bounty/bounty_buy_ui.lua
2023-05-17 15:00:29 +08:00

108 lines
3.5 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

local BountyBuyUI = class("BountyBuyUI", BaseUI)
function BountyBuyUI:ctor()
self.endTime = DataManager.BountyData:getEndTime()
end
function BountyBuyUI:isFullScreen()
return false
end
function BountyBuyUI:getPrefabPath()
return "assets/prefabs/ui/bounty/bounty_buy_ui.prefab"
end
function BountyBuyUI:onLoadRootComplete()
local uiMap = self.root:genAllChildren()
self.uiMap = uiMap
local closeBtn = uiMap["bounty_buy_ui.bg.close_btn"]
closeBtn:addClickListener(function()
self:closeUI()
end)
self:initTitle()
self:initTime()
self:initRewards()
self:initBtns()
self:scheduleGlobal(function()
self:updateTime()
end, 1)
self:updateTime()
end
function BountyBuyUI:initTitle()
self.uiMap["bounty_buy_ui.bg.title_tx"]:setText("临时文本:黄金通行证")
end
function BountyBuyUI:initTime()
self.timeTx = self.uiMap["bounty_buy_ui.bg.time_tx"]
end
function BountyBuyUI:initRewards()
self.uiMap["bounty_buy_ui.bg.desc_tx"]:setText(I18N:getGlobalText(I18N.GlobalConst.REWARD_DESC))
local preferredWidth = self.uiMap["bounty_buy_ui.bg.desc_tx"]:getComponent(GConst.TYPEOF_UNITY_CLASS.UI_TEXT_MESH_PRO).preferredWidth
self.uiMap["bounty_buy_ui.bg.left_arrow"]:setAnchoredPositionX(-30 - preferredWidth/2)
self.uiMap["bounty_buy_ui.bg.right_arrow"]:setAnchoredPositionX(30 + preferredWidth/2)
local list = DataManager.BountyData:getAllProRewards()
for i = 1, 10 do
local cell = self.uiMap["bounty_buy_ui.bg.reward_cell_" .. i]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.REWARD_CELL)
if list[i] then
cell:setVisible(true, 0.7)
cell:refreshByConfig(list[i])
else
cell:setVisible(false)
end
end
end
function BountyBuyUI:initBtns()
self.uiMap["bounty_buy_ui.bg.name_1"]:setText("临时文本:黄金通行证")
self.uiMap["bounty_buy_ui.bg.name_2"]:setText("临时文本:黄金通行证")
self.uiMap["bounty_buy_ui.bg.desc_tx_1"]:setText("临时文本:解锁奖励和奖励任务")
self.uiMap["bounty_buy_ui.bg.desc_tx_2"]:setText("临时文本:获得高级通行证,+10级立即获得更多奖励")
local rechargeId = DataManager.BountyData:getRechargeId(false)
self.uiMap["bounty_buy_ui.bg.buy_btn.tx"]:setText(GFunc.getFormatPrice(rechargeId))
local proRechargeId = DataManager.BountyData:getRechargeId(true)
self.uiMap["bounty_buy_ui.bg.buy_btn_advanced.tx"]:setText(GFunc.getFormatPrice(proRechargeId))
local buyBtn = self.uiMap["bounty_buy_ui.bg.buy_btn"]
buyBtn:addClickListener(function()
self:closeUI()
ModuleManager.BountyManager:buyBounty(false)
end)
local buyBtnAdvanced = self.uiMap["bounty_buy_ui.bg.buy_btn_advanced"]
buyBtnAdvanced:addClickListener(function()
local level = DataManager.BountyData:getLevel()
local maxLevel = DataManager.BountyData:getMaxLevel()
local buyProBountyAddLevels = DataManager.BountyData:getBuyProBountyAddLevelCount()
if level > maxLevel - buyProBountyAddLevels then
local params = {
content = "购买此通行证会超过通行证等级上限,会造成损失,是否购买?",
boxType = GConst.MESSAGE_BOX_TYPE.MB_OK_CANCEL,
okFunc = function()
self:closeUI()
ModuleManager.BountyManager:buyBounty(true)
end
}
GFunc.showMessageBox(params)
else
self:closeUI()
ModuleManager.BountyManager:buyBounty(true)
end
end)
end
function BountyBuyUI:updateTime()
local remainTime = self.endTime - Time:getServerTime()
if remainTime < 0 then
UIManager:closeUnderUI(self)
return self:closeUI()
end
self.timeTx:setText(GFunc.getTimeStr(remainTime))
end
return BountyBuyUI