Files
StellaSora_DataLua/lua/game/ui/successbarex/tracehuntupgradesucctrl.lua
T
SL1900 8c4bd41668 Update - 1.13.0.124
EN: 1.13.0.124
CN: 1.13.0.124
JP: 1.13.0.128
KR: 1.13.0.130
2026-07-21 12:30:00 +09:00

120 lines
4.2 KiB
Lua

local TraceHuntUpgradeSucCtrl = class("TraceHuntUpgradeSucCtrl", BaseCtrl)
TraceHuntUpgradeSucCtrl._mapNodeConfig = {
txtLevelCount = {sComponentName = "TMP_Text"},
txtLevelTitle = {
sComponentName = "TMP_Text",
sLanguageId = "TraceHunt_Level_Title"
},
goRewardInfoList = {},
goRewardInfo_ = {nCount = 5, sComponentName = "Transform"},
ani1 = {sNodeName = "rtTitle", sComponentName = "Animator"},
ani2 = {
sNodeName = "goRewardInfoList",
sComponentName = "Animator"
},
aniLine = {
nCount = 5,
sNodeName = "goRewardInfo_",
sComponentName = "Animator"
}
}
TraceHuntUpgradeSucCtrl._mapEventConfig = {}
local Type = {
Star = 1,
Token = 2,
Free = 3,
Add = 4,
Lucky = 5
}
function TraceHuntUpgradeSucCtrl:Open()
self:RefreshContent()
local SuccessBar = self:BindCtrlByNode(self.gameObject, "Game.UI.SuccessBarEx.SuccessBarCtrl")
SuccessBar:PlayAni(AllEnum.SuccessBar.Yellow, self.tbAni)
end
function TraceHuntUpgradeSucCtrl:RefreshContent()
self.tbAni = {}
local nLevel = self._panel.mapData.nLevel
local mapLevel = self._panel.mapData.mapLevel
NovaAPI.SetTMPText(self._mapNode.txtLevelCount, nLevel)
table.insert(self.tbAni, self._mapNode.ani1)
local bHasMaxStar = mapLevel.DisplayMaxStar > 0
local bHasTokenRate = 0 < mapLevel.DisplayTokenRate
local bHasFreeRate = 0 < mapLevel.DisplayFreeRate
local bHasAddRate = 0 < mapLevel.DisplayAddRate
local bHasLuckyRate = 0 < mapLevel.DisplayLuckyRate
local nCount = 0
local mapDisplay = {}
if bHasMaxStar then
table.insert(mapDisplay, Type.Star)
nCount = nCount + 1
end
if bHasTokenRate then
table.insert(mapDisplay, Type.Token)
nCount = nCount + 1
end
if bHasFreeRate then
table.insert(mapDisplay, Type.Free)
nCount = nCount + 1
end
if bHasAddRate then
table.insert(mapDisplay, Type.Add)
nCount = nCount + 1
end
if bHasLuckyRate then
table.insert(mapDisplay, Type.Lucky)
nCount = nCount + 1
end
if nCount == 0 then
self._mapNode.goRewardInfoList:SetActive(false)
end
for i = 1, 5 do
if i <= nCount then
if i == 1 then
table.insert(self.tbAni, {
self._mapNode.ani2,
self._mapNode.aniLine[1],
bMulti = true
})
else
table.insert(self.tbAni, self._mapNode.aniLine[i])
end
local txtRewardInfo = self._mapNode.goRewardInfo_[i]:Find("--Basic--/txtRewardInfo"):GetComponent("TMP_Text")
local imgRewardIcon1 = self._mapNode.goRewardInfo_[i]:Find("--Basic--/goReward/imgRewardIcon1").gameObject
local imgRewardIcon2 = self._mapNode.goRewardInfo_[i]:Find("--Basic--/goReward/imgRewardIcon2").gameObject
if mapDisplay[i] == Type.Star then
NovaAPI.SetTMPText(txtRewardInfo, orderedFormat(ConfigTable.GetUIText("TraceHunt_LevelEffect_MaxStar"), mapLevel.DisplayMaxStar))
imgRewardIcon1:SetActive(false)
imgRewardIcon2:SetActive(true)
elseif mapDisplay[i] == Type.Token then
local sTitle = ConfigTable.GetData_Item(AllEnum.CoinItemId.TraceHunt).Title
NovaAPI.SetTMPText(txtRewardInfo, orderedFormat(ConfigTable.GetUIText("TraceHunt_LevelEffect_TokenRate"), sTitle, mapLevel.DisplayTokenRate))
imgRewardIcon1:SetActive(false)
imgRewardIcon2:SetActive(true)
elseif mapDisplay[i] == Type.Free then
local sTitle = ConfigTable.GetData_Item(ConfigTable.GetConfigNumber("TraceHuntRequestItemTid")).Title
NovaAPI.SetTMPText(txtRewardInfo, orderedFormat(ConfigTable.GetUIText("TraceHunt_LevelEffect_FreeRate"), sTitle, mapLevel.DisplayFreeRate))
imgRewardIcon1:SetActive(false)
imgRewardIcon2:SetActive(true)
elseif mapDisplay[i] == Type.Add then
NovaAPI.SetTMPText(txtRewardInfo, orderedFormat(ConfigTable.GetUIText("TraceHunt_LevelEffect_AddRate"), mapLevel.DisplayAddRate))
imgRewardIcon1:SetActive(true)
imgRewardIcon2:SetActive(false)
elseif mapDisplay[i] == Type.Lucky then
NovaAPI.SetTMPText(txtRewardInfo, orderedFormat(ConfigTable.GetUIText("TraceHunt_LevelEffect_LuckyRate"), mapLevel.DisplayLuckyRate))
imgRewardIcon1:SetActive(true)
imgRewardIcon2:SetActive(false)
end
end
self._mapNode.goRewardInfo_[i].gameObject:SetActive(i <= nCount)
end
end
function TraceHuntUpgradeSucCtrl:Awake()
end
function TraceHuntUpgradeSucCtrl:OnEnable()
end
function TraceHuntUpgradeSucCtrl:OnDisable()
end
function TraceHuntUpgradeSucCtrl:OnDestroy()
end
return TraceHuntUpgradeSucCtrl