141 lines
4.9 KiB
Lua
141 lines
4.9 KiB
Lua
local IdleQuickDropUI = class("IdleQuickDropUI", BaseUI)
|
|
|
|
function IdleQuickDropUI:isFullScreen()
|
|
return false
|
|
end
|
|
|
|
function IdleQuickDropUI:getPrefabPath()
|
|
return "assets/prefabs/ui/idle/idle_quick_drop_ui.prefab"
|
|
end
|
|
|
|
function IdleQuickDropUI:ctor()
|
|
self.rewardList = {}
|
|
local rewards = DataManager.IdleData:getIdleQuickDropPreviewRewards()
|
|
for _, item in pairs(rewards) do
|
|
if item.num > 0 then
|
|
table.insert(self.rewardList, item)
|
|
end
|
|
end
|
|
if #self.rewardList > 1 then
|
|
local cfg = ConfigManager:getConfig("item")
|
|
local infoA
|
|
local infoB
|
|
table.sort(self.rewardList, function(a, b)
|
|
infoA = cfg[a.id]
|
|
infoB = cfg[b.id]
|
|
if infoA.type == infoB.type then
|
|
if infoA.qlt == infoB.qlt then
|
|
return infoA.qlt > infoB.qlt
|
|
else
|
|
return a.id < b.id
|
|
end
|
|
else
|
|
return infoA.type < infoB.type
|
|
end
|
|
end)
|
|
end
|
|
end
|
|
|
|
function IdleQuickDropUI:onLoadRootComplete()
|
|
local uiMap = self.root:genAllChildren()
|
|
self.uiMap = uiMap
|
|
uiMap["idle_quick_drop_ui.mask"]:addClickListener(function()
|
|
self:closeUI()
|
|
end)
|
|
uiMap["idle_quick_drop_ui.bg.title_text"]:setText("临时文本:快速挂机")
|
|
uiMap["idle_quick_drop_ui.bg.desc_tx"]:setText("临时文本:立刻获得6小时挂机奖励")
|
|
|
|
self:initRewards()
|
|
self:initBtns()
|
|
self:bindData()
|
|
end
|
|
|
|
function IdleQuickDropUI:initRewards()
|
|
self.scrollRect = self.uiMap["idle_quick_drop_ui.bg.scroll_rect"]:addLuaComponent(GConst.TYPEOF_LUA_CLASS.SCROLL_RECT_BASE)
|
|
self.scrollRect:addInitCallback(function()
|
|
return GConst.TYPEOF_LUA_CLASS.REWARD_CELL
|
|
end)
|
|
self.scrollRect:addRefreshCallback(function(index, cell)
|
|
cell:refreshByConfig(self.rewardList[index])
|
|
end)
|
|
self.scrollRect:clearCells()
|
|
self.scrollRect:refillCells(#self.rewardList)
|
|
end
|
|
|
|
function IdleQuickDropUI:initBtns()
|
|
self.adBtn = self.uiMap["idle_quick_drop_ui.bg.ad_btn"]
|
|
self.adBtn:addClickListener(function()
|
|
ModuleManager.IdleManager:getIdleQuickRewrad(true)
|
|
end)
|
|
self.uiMap["idle_quick_drop_ui.bg.ad_btn.text"]:setText("临时文本:免费")
|
|
self.itemBtn = self.uiMap["idle_quick_drop_ui.bg.item_btn"]
|
|
self.itemBtn:addClickListener(function()
|
|
ModuleManager.IdleManager:getIdleQuickRewrad(false)
|
|
end)
|
|
|
|
local cost = DataManager.IdleData:getQuickIdleCost()
|
|
local itemBtnIcon = self.uiMap["idle_quick_drop_ui.bg.item_btn.icon"]
|
|
local itemBtnTx = self.uiMap["idle_quick_drop_ui.bg.item_btn.text"]
|
|
local iconName = ConfigManager:getConfig("item")[cost.id].icon
|
|
itemBtnIcon:setSprite(GConst.ATLAS_PATH.ICON_ITEM, iconName)
|
|
itemBtnTx:setText(tostring(cost.num))
|
|
GFunc.centerImgAndTx(itemBtnIcon, itemBtnTx)
|
|
|
|
self.descTx2 = self.uiMap["idle_quick_drop_ui.bg.desc_tx_2"]
|
|
self.descTx3 = self.uiMap["idle_quick_drop_ui.bg.desc_tx_3"]
|
|
end
|
|
|
|
function IdleQuickDropUI:bindData()
|
|
self:bind(DataManager.IdleData, "adCount", function()
|
|
self:onRefresh()
|
|
end)
|
|
self:bind(DataManager.IdleData, "energyCount", function()
|
|
self:onRefresh()
|
|
end)
|
|
|
|
local cost = DataManager.IdleData:getQuickIdleCost()
|
|
local costId = GFunc.getRewardId(cost)
|
|
local itemEntity = DataManager.BagData.ItemData:getItemById(costId)
|
|
if itemEntity then
|
|
self:bind(itemEntity, "num", function()
|
|
self:onRefresh()
|
|
end)
|
|
end
|
|
end
|
|
|
|
function IdleQuickDropUI:onRefresh()
|
|
local adRemainTimes = DataManager.IdleData:getQuickIdleAdRemainTimes()
|
|
if adRemainTimes <= 0 then
|
|
adRemainTimes = 0
|
|
self.adBtn:setTouchEnable(false)
|
|
self.adBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_grey_2")
|
|
self.adBtn:removeRedPoint()
|
|
else
|
|
self.adBtn:setTouchEnable(true)
|
|
self.adBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_blue_2")
|
|
self.adBtn:addRedPoint(94, 42, 0.8)
|
|
end
|
|
self.descTx2:setText(string.format("临时文本:今日剩余%s次", adRemainTimes))
|
|
local vitRemainTimes = DataManager.IdleData:getQuickIdleVitRemainTimes()
|
|
if vitRemainTimes <= 0 then
|
|
vitRemainTimes = 0
|
|
self.itemBtn:setTouchEnable(false)
|
|
self.itemBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_grey_2")
|
|
self.itemBtn:removeRedPoint()
|
|
else
|
|
self.itemBtn:setTouchEnable(true)
|
|
self.itemBtn:setSprite(GConst.ATLAS_PATH.COMMON, "common_btn_green_2")
|
|
local cost = DataManager.IdleData:getQuickIdleCost()
|
|
local costId = GFunc.getRewardId(cost)
|
|
local costNum = GFunc.getRewardNum(cost)
|
|
if GFunc.checkCost(costId, costNum) then
|
|
self.itemBtn:addRedPoint(94, 42, 0.8)
|
|
else
|
|
self.itemBtn:removeRedPoint()
|
|
end
|
|
end
|
|
self.descTx3:setText(string.format("临时文本:今日剩余%s次", vitRemainTimes))
|
|
end
|
|
|
|
return IdleQuickDropUI
|