Files
StellaSora_DataLua/lua/game/ui/jointdrill/jointdrillrankrewarditemctrl.lua
T
SL1900 5e0d58cfad Initial version - 1.2.0.60
EN: 1.2.0.60
CN: 1.2.0.61
JP: 1.2.0.63
KR: 1.2.0.67
2025-12-03 01:00:00 +09:00

69 lines
2.7 KiB
Lua

local JointDrillRankRewardItemCtrl = class("JointDrillRankRewardItemCtrl", BaseCtrl)
local ConfigData = require("GameCore.Data.ConfigData")
JointDrillRankRewardItemCtrl._mapNodeConfig = {
imgBg1 = {},
imgBg2 = {},
txtRanking = {sComponentName = "TMP_Text"},
btnItem = {
nCount = 3,
sComponentName = "UIButton",
callback = "OnBtnClick_Item"
},
goItem = {
nCount = 3,
sNodeName = "btnItem",
sCtrlName = "Game.UI.TemplateEx.TemplateItemCtrl"
}
}
JointDrillRankRewardItemCtrl._mapEventConfig = {}
JointDrillRankRewardItemCtrl._mapRedDotConfig = {}
function JointDrillRankRewardItemCtrl:RefreshItem(nIndex, nSelfRankSection)
local nMaxRankCount = PlayerData.JointDrill:GetRankRewardCount()
local mapCfg = ConfigTable.GetData("JointDrillRank", nIndex)
if mapCfg == nil then
return
end
local nRankingHigher = mapCfg.RankLower
local nRankLower = 0
if nIndex ~= 1 and ConfigTable.GetData("JointDrillRank", nIndex - 1) ~= nil then
nRankLower = ConfigTable.GetData("JointDrillRank", nIndex - 1).RankLower
end
if nIndex == 1 then
NovaAPI.SetTMPText(self._mapNode.txtRanking, orderedFormat(ConfigTable.GetUIText("JointDrill_Rank_Cur"), math.floor(nRankingHigher / 100)))
elseif nIndex == nMaxRankCount then
NovaAPI.SetTMPText(self._mapNode.txtRanking, orderedFormat(ConfigTable.GetUIText("JointDrill_Rank_Lv_1"), math.floor(nRankLower / 100)))
else
NovaAPI.SetTMPText(self._mapNode.txtRanking, orderedFormat(ConfigTable.GetUIText("JointDrill_Rank_Lv"), math.floor(nRankLower / 100), math.floor(nRankingHigher / 100)))
end
local bSelf = nSelfRankSection > nRankLower * ConfigData.IntFloatPrecision and nSelfRankSection <= nRankingHigher * ConfigData.IntFloatPrecision and nSelfRankSection ~= 0
self._mapNode.imgBg1:SetActive(not bSelf)
self._mapNode.imgBg2:SetActive(bSelf)
self.tbReward = {}
for i = 1, 3 do
if mapCfg["AwardItemTid" .. i] ~= nil and mapCfg["AwardItemTid" .. i] ~= 0 then
local nTid = mapCfg["AwardItemTid" .. i]
local nCount = mapCfg["AwardItemNum" .. i]
table.insert(self.tbReward, {nTid = nTid, nCount = nCount})
self._mapNode.goItem[i]:SetItem(nTid, nil, nCount, nil, false, false, false, true, false, false)
else
self._mapNode.btnItem[i].gameObject:SetActive(false)
end
end
end
function JointDrillRankRewardItemCtrl:Awake()
end
function JointDrillRankRewardItemCtrl:OnEnable()
end
function JointDrillRankRewardItemCtrl:OnDisable()
end
function JointDrillRankRewardItemCtrl:OnDestroy()
end
function JointDrillRankRewardItemCtrl:OnBtnClick_Item(btn, nIndex)
local mapItem = self.tbReward[nIndex]
if mapItem == nil then
return
end
UTILS.ClickItemGridWithTips(mapItem.nTid, btn.transform, true, true, false)
end
return JointDrillRankRewardItemCtrl