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
This commit is contained in:
SL1900
2025-12-03 01:00:00 +09:00
commit 5e0d58cfad
3595 changed files with 9373562 additions and 0 deletions
@@ -0,0 +1,155 @@
local TravelerDuelRankingCtrl = class("TravelerDuelRankingCtrl", BaseCtrl)
TravelerDuelRankingCtrl._mapNodeConfig = {
TMPEmpty = {
sComponentName = "TMP_Text",
sLanguageId = "STRanking_PlayerInfo_Empty"
},
rtPlayerInfo = {
sCtrlName = "Game.UI.TravelerDuelLevelSelect.TravelerDuelRanking.TravelerDuelRankingPlayerInfoCtrl"
},
svRankingInfo = {
sComponentName = "LoopScrollView"
},
imgEmpty = {},
svRankingReward = {
sComponentName = "LoopScrollView"
},
btnClose = {
sComponentName = "UIButton",
callback = "OnBtnClick_Close"
},
btnCloseScreen = {
sComponentName = "Button",
callback = "OnBtnClick_Close"
},
rtRankingInfo = {},
rtRankingReward = {},
btnLeft = {
sComponentName = "UIButton",
callback = "OnBtnClick_left"
},
btnRight = {
sComponentName = "UIButton",
callback = "OnBtnClick_right"
},
tcTab = {
sCtrlName = "Game.UI.TemplateEx.TemplateTogTabCtrl"
},
t_window = {sComponentName = "Animator"},
t_fullscreen_blur_black = {sComponentName = "Animator"},
txtLeft = {
nCount = 2,
sComponentName = "TMP_Text",
sLanguageId = "StarTower_Ranking_Info"
},
txtRight = {
nCount = 2,
sComponentName = "TMP_Text",
sLanguageId = "StarTower_Ranking_Reward"
},
txtRefreshTime = {
sComponentName = "TMP_Text",
sLanguageId = "STRanking_Refresh_Tips"
}
}
TravelerDuelRankingCtrl._mapEventConfig = {}
TravelerDuelRankingCtrl._mapRedDotConfig = {}
function TravelerDuelRankingCtrl:Awake()
self._mapRankingGrid = {}
self._mapRewardGrid = {}
end
function TravelerDuelRankingCtrl:FadeIn()
end
function TravelerDuelRankingCtrl:FadeOut()
end
function TravelerDuelRankingCtrl:OnEnable()
self._mapNode.tcTab:SetText("排行奖励", "排行信息")
if self.bOpenPanel then
self:OpenPanel()
end
end
function TravelerDuelRankingCtrl:OnDisable()
for go, mapCtrl in pairs(self._mapRankingGrid) do
self:UnbindCtrlByNode(mapCtrl)
end
for go, mapCtrl in pairs(self._mapRewardGrid) do
self:UnbindCtrlByNode(mapCtrl)
end
self._mapRankingGrid = {}
self._mapRewardGrid = {}
end
function TravelerDuelRankingCtrl:OnDestroy()
end
function TravelerDuelRankingCtrl:OnRelease()
end
function TravelerDuelRankingCtrl:OpenPanel()
self.gameObject:SetActive(true)
self._mapNode.t_window:Play("t_window_04_t_in")
local mapSelfRankingData, mapRankingData = PlayerData.TravelerDuel:GetTDRankingData()
self.mapRankingData = mapRankingData
self.mapSelfRankingData = mapSelfRankingData
self._mapNode.rtPlayerInfo:Refresh(mapSelfRankingData)
if #self.mapRankingData > 0 then
self._mapNode.svRankingInfo.gameObject:SetActive(true)
self._mapNode.svRankingInfo:Init(#self.mapRankingData, self, self.OnGridRankingRefresh)
self._mapNode.imgEmpty:SetActive(false)
else
self._mapNode.svRankingInfo.gameObject:SetActive(false)
self._mapNode.imgEmpty:SetActive(true)
end
self._mapNode.svRankingReward:Init(4, self, self.OnGridRankingRewardRefresh)
if not self.bOpenPanel then
self._mapNode.tcTab:SetState(false)
self._mapNode.rtRankingInfo:SetActive(true)
self._mapNode.rtRankingReward:SetActive(false)
self.bOpenPanel = true
end
end
function TravelerDuelRankingCtrl:OnBtnClick_Close()
self._mapNode.t_window:Play("t_window_04_t_out")
self._mapNode.t_fullscreen_blur_black:SetTrigger("tOut")
local close = function()
self.gameObject:SetActive(false)
self.bOpenPanel = false
end
self:AddTimer(1, 0.2, close, true, true, true)
end
function TravelerDuelRankingCtrl:OnGridRankingRefresh(grid)
if self._mapRankingGrid[grid] == nil then
local mapCtrl = self:BindCtrlByNode(grid, "Game.UI.TravelerDuelLevelSelect.TravelerDuelRanking.TravelerDuelRankingGrid")
self._mapRankingGrid[grid] = mapCtrl
end
local nIdx = tonumber(grid.name)
if nIdx == nil then
return
end
nIdx = nIdx + 1
self._mapRankingGrid[grid]:Refresh(self.mapRankingData[nIdx])
end
function TravelerDuelRankingCtrl:OnGridRankingRewardRefresh(grid)
if self._mapRewardGrid[grid] == nil then
local mapCtrl = self:BindCtrlByNode(grid, "Game.UI.TravelerDuelLevelSelect.TravelerDuelRanking.TravelerDuelRewardGridCtrl")
self._mapRewardGrid[grid] = mapCtrl
end
local nIdx = tonumber(grid.name)
if nIdx == nil then
return
end
nIdx = nIdx + 1
local nSelfIdx = 0
if self.mapSelfRankingData ~= nil then
nSelfIdx = self.mapSelfRankingData.nRewardIdx
end
self._mapRewardGrid[grid]:Refresh(nIdx, nSelfIdx)
end
function TravelerDuelRankingCtrl:OnBtnClick_right()
self._mapNode.tcTab:SetState(true)
self._mapNode.rtRankingInfo:SetActive(false)
self._mapNode.rtRankingReward:SetActive(true)
end
function TravelerDuelRankingCtrl:OnBtnClick_left()
self._mapNode.tcTab:SetState(false)
self._mapNode.rtRankingInfo:SetActive(true)
self._mapNode.rtRankingReward:SetActive(false)
end
return TravelerDuelRankingCtrl
@@ -0,0 +1,100 @@
local TravelerDuelRankingGrid = class("TravelerDuelRankingGrid", BaseCtrl)
TravelerDuelRankingGrid._mapNodeConfig = {
imgTitleBg1 = {},
imgTitleBg2 = {},
imgRankIcon = {sComponentName = "Image"},
TMPRank = {sComponentName = "TMP_Text"},
TMPScoreTitle = {
sComponentName = "TMP_Text",
sLanguageId = "TravelerDuel_RankScoreTitle"
},
TMPTitle = {
sComponentName = "TMP_Text",
sLanguageId = "TravelerDuel_RankNameTitle"
},
TMPScore = {sComponentName = "TMP_Text"},
imgItemIcon = {sComponentName = "Image", nCount = 3},
imgItemRare = {sComponentName = "Image", nCount = 3},
txtRank = {sComponentName = "TMP_Text", nCount = 3},
imgHead = {sComponentName = "Image"},
TMPPlayerLevel = {sComponentName = "TMP_Text"},
TMPPlayerLevelTitle = {sComponentName = "TMP_Text"},
TMPPlayerName = {sComponentName = "TMP_Text"},
TMPPlayerTitle = {sComponentName = "TMP_Text"},
TMPBuildTitle = {
sComponentName = "TMP_Text",
sLanguageId = "TravelerDuel_RankBuildTitle"
},
imgScoreIcon = {sComponentName = "Image"},
goHonorTitle = {
nCount = 3,
sCtrlName = "Game.UI.FriendEx.HonorTitleCtrl"
},
txtLeader = {
sComponentName = "TMP_Text",
sLanguageId = "Build_Leader"
},
txtSub = {
nCount = 2,
sComponentName = "TMP_Text",
sLanguageId = "Build_Sub"
}
}
TravelerDuelRankingGrid._mapEventConfig = {}
TravelerDuelRankingGrid._mapRedDotConfig = {}
function TravelerDuelRankingGrid:Awake()
end
function TravelerDuelRankingGrid:FadeIn()
end
function TravelerDuelRankingGrid:FadeOut()
end
function TravelerDuelRankingGrid:OnEnable()
end
function TravelerDuelRankingGrid:OnDisable()
end
function TravelerDuelRankingGrid:OnDestroy()
end
function TravelerDuelRankingGrid:OnRelease()
end
function TravelerDuelRankingGrid:Refresh(mapRanking)
self._mapNode.imgTitleBg1:SetActive(mapRanking.bSelf == true)
self._mapNode.imgTitleBg2:SetActive(mapRanking.bSelf ~= true)
self:SetAtlasSprite(self._mapNode.imgRankIcon, "12_rare", "travelerduel_rank_" .. mapRanking.nRewardIdx)
NovaAPI.SetTMPText(self._mapNode.TMPRank, orderedFormat(ConfigTable.GetUIText("TravelerDuel_RankTitle"), mapRanking.Rank))
NovaAPI.SetTMPText(self._mapNode.TMPScore, string.formatnumberthousands(mapRanking.Score))
NovaAPI.SetTMPText(self._mapNode.TMPPlayerName, mapRanking.NickName)
NovaAPI.SetTMPText(self._mapNode.TMPPlayerLevel, mapRanking.WorldClass)
local sScore = "Icon/BuildRank/BuildRank_" .. mapRanking.nBuildRank
self:SetPngSprite(self._mapNode.imgScoreIcon, sScore)
if mapRanking.TitlePrefix == 0 or mapRanking.TitleSuffix == 0 then
NovaAPI.SetTMPText(self._mapNode.TMPPlayerTitle, "")
else
local sTitle = orderedFormat(ConfigTable.GetUIText("FriendPanel_PlayerTitle") or "", ConfigTable.GetData("Title", mapRanking.TitlePrefix).Desc, ConfigTable.GetData("Title", mapRanking.TitleSuffix).Desc)
NovaAPI.SetTMPText(self._mapNode.TMPPlayerTitle, sTitle)
end
local mapCfg = ConfigTable.GetData("PlayerHead", mapRanking.HeadIcon)
self:SetPngSprite(self._mapNode.imgHead, mapCfg.Icon)
for i = 1, 3 do
local nCharId = mapRanking.Chars[i].Id
local mapChar = ConfigTable.GetData_Character(nCharId)
NovaAPI.SetTMPText(self._mapNode.txtRank[i], mapRanking.Chars[i].Level)
local nCharSkinId = mapChar.DefaultSkinId
local mapCharSkin = ConfigTable.GetData_CharacterSkin(nCharSkinId)
self:SetPngSprite(self._mapNode.imgItemIcon[i], mapCharSkin.Icon .. AllEnum.CharHeadIconSurfix.XXL)
local nRarity = mapChar.Grade
local sFrame = AllEnum.FrameType_New.BoardFrame .. AllEnum.BoardFrameColor[GameEnum.characterGrade.R and GameEnum.characterGrade.SR or nRarity]
self:SetAtlasSprite(self._mapNode.imgItemRare[i], "12_rare", sFrame, true)
local tbhonorTitle = mapRanking.Honors
if tbhonorTitle ~= nil and tbhonorTitle[i] ~= nil and tbhonorTitle[i].Id ~= nil and 0 < tbhonorTitle[i].Id then
local honorData = ConfigTable.GetData("Honor", tbhonorTitle[i].Id)
local level
if honorData.Type == GameEnum.honorType.Character then
local affinityData = PlayerData.Char:GetCharAffinityData(honorData.Params[1])
level = affinityData.Level
end
self._mapNode.goHonorTitle[i]:SetHonotTitle(honorData.Id, i == 1, level)
end
self._mapNode.goHonorTitle[i].gameObject:SetActive(tbhonorTitle ~= nil and tbhonorTitle[i] ~= nil and tbhonorTitle[i].Id ~= nil and 0 < tbhonorTitle[i].Id)
end
end
return TravelerDuelRankingGrid
@@ -0,0 +1,61 @@
local TravelerDuelRankingPlayerInfoCtrl = class("TravelerDuelRankingPlayerInfoCtrl", BaseCtrl)
local ConfigData = require("GameCore.Data.ConfigData")
TravelerDuelRankingPlayerInfoCtrl._mapNodeConfig = {
imgHead = {sComponentName = "Image"},
imgIconRank = {sComponentName = "Image"},
TMPPlayerLevel = {sComponentName = "TMP_Text"},
TMPPlayerLevelTitle = {sComponentName = "TMP_Text"},
TMPPlayerName = {sComponentName = "TMP_Text"},
TMPPlayerTitle = {sComponentName = "TMP_Text"},
TMPRank = {sComponentName = "TMP_Text"},
TMPScore = {sComponentName = "TMP_Text"},
rtEmpty = {},
rtRankingInfo = {}
}
TravelerDuelRankingPlayerInfoCtrl._mapEventConfig = {}
TravelerDuelRankingPlayerInfoCtrl._mapRedDotConfig = {}
function TravelerDuelRankingPlayerInfoCtrl:Awake()
end
function TravelerDuelRankingPlayerInfoCtrl:FadeIn()
end
function TravelerDuelRankingPlayerInfoCtrl:FadeOut()
end
function TravelerDuelRankingPlayerInfoCtrl:OnEnable()
end
function TravelerDuelRankingPlayerInfoCtrl:OnDisable()
end
function TravelerDuelRankingPlayerInfoCtrl:OnDestroy()
end
function TravelerDuelRankingPlayerInfoCtrl:OnRelease()
end
function TravelerDuelRankingPlayerInfoCtrl:Refresh(mapSelfRanking)
self.gameObject:SetActive(true)
NovaAPI.SetTMPText(self._mapNode.TMPPlayerName, PlayerData.Base:GetPlayerNickName())
NovaAPI.SetTMPText(self._mapNode.TMPPlayerLevel, tostring(PlayerData.Base:GetWorldClass()))
local nPre, nSuf = PlayerData.Base:GetPlayerTitle()
if nPre == 0 or nSuf == 0 then
NovaAPI.SetTMPText(self._mapNode.TMPPlayerTitle, "")
return
end
local sTitle = orderedFormat(ConfigTable.GetUIText("FriendPanel_PlayerTitle") or "", ConfigTable.GetData("Title", nPre).Desc, ConfigTable.GetData("Title", nSuf).Desc)
NovaAPI.SetTMPText(self._mapNode.TMPPlayerTitle, sTitle)
local nHeadId = PlayerData.Base:GetPlayerHeadId()
local mapCfg = ConfigTable.GetData("PlayerHead", nHeadId)
self:SetPngSprite(self._mapNode.imgHead, mapCfg.Icon)
if mapSelfRanking == nil then
self._mapNode.rtEmpty:SetActive(true)
self._mapNode.rtRankingInfo:SetActive(false)
return
end
self._mapNode.rtEmpty:SetActive(false)
self._mapNode.rtRankingInfo:SetActive(true)
self:SetAtlasSprite(self._mapNode.imgIconRank, "12_rare", "travelerduel_rank_" .. mapSelfRanking.nRewardIdx)
if mapSelfRanking.nRewardIdx == 4 then
local nRanking = ConfigTable.GetData("TravelerDuelChallengeRankReward", 4).RankUpper * ConfigData.IntFloatPrecision
NovaAPI.SetTMPText(self._mapNode.TMPRank, orderedFormat(ConfigTable.GetUIText("TravelerDuel_ChallengeRankTitle1"), nRanking))
else
NovaAPI.SetTMPText(self._mapNode.TMPRank, orderedFormat(ConfigTable.GetUIText("TravelerDuel_RankRewardTitle4"), mapSelfRanking.Rank))
end
NovaAPI.SetTMPText(self._mapNode.TMPScore, mapSelfRanking.Score)
end
return TravelerDuelRankingPlayerInfoCtrl
@@ -0,0 +1,65 @@
local TravelerDuelRankingUploadCtrl = class("TravelerDuelRankingUploadCtrl", BaseCtrl)
TravelerDuelRankingUploadCtrl._mapNodeConfig = {
TMPNewScoreTitle = {sComponentName = "TMP_Text"},
TMPOldScoreTitle = {sComponentName = "TMP_Text"},
TMPOldScore = {sComponentName = "TMP_Text"},
TMPNewScore = {sComponentName = "TMP_Text"},
TMPHintTimes = {sComponentName = "TMP_Text"},
TMPHint = {sComponentName = "TMP_Text"},
btnCancel = {
sComponentName = "UIButton",
callback = "OnBtnClick_Cancel"
},
btnConfirm1 = {
sComponentName = "UIButton",
callback = "OnBtnClick_Confirm"
},
btnClose = {
sComponentName = "UIButton",
callback = "OnBtnClick_Cancel"
}
}
TravelerDuelRankingUploadCtrl._mapEventConfig = {}
TravelerDuelRankingUploadCtrl._mapRedDotConfig = {}
function TravelerDuelRankingUploadCtrl:Awake()
end
function TravelerDuelRankingUploadCtrl:FadeIn()
end
function TravelerDuelRankingUploadCtrl:FadeOut()
end
function TravelerDuelRankingUploadCtrl:OnEnable()
local tbParam = self:GetPanelParam()
local nOldScore = tbParam[1]
local nNewScore = tbParam[2]
local nRemainTimes = tbParam[3]
local tbChar = tbParam[4]
self.tbChar = tbChar
self.nNewScore = nNewScore
NovaAPI.SetTMPText(self._mapNode.TMPOldScore, nOldScore)
NovaAPI.SetTMPText(self._mapNode.TMPNewScore, nNewScore)
NovaAPI.SetTMPText(self._mapNode.TMPHintTimes, orderedFormat(ConfigTable.GetUIText("TDRanking_UploadTimes"), nRemainTimes))
end
function TravelerDuelRankingUploadCtrl:OnDisable()
end
function TravelerDuelRankingUploadCtrl:OnDestroy()
end
function TravelerDuelRankingUploadCtrl:OnRelease()
end
function TravelerDuelRankingUploadCtrl:OnBtnClick_Confirm()
PlayerData.TravelerDuel:SendMsg_UplodeTravelerDuelRanking(self.tbChar, self.nNewScore, nil)
EventManager.Hit(EventId.ClosePanel, PanelId.TravelerDuelRankingUpload)
end
function TravelerDuelRankingUploadCtrl:OnBtnClick_Cancel()
local confirmCallback = function()
EventManager.Hit("TDUploadRankEnd")
EventManager.Hit(EventId.ClosePanel, PanelId.TravelerDuelRankingUpload)
end
local msg = {
nType = AllEnum.MessageBox.Confirm,
sContent = ConfigTable.GetUIText("TravelerDuel_UploadCancelHint"),
callbackConfirm = confirmCallback,
bBlur = false
}
EventManager.Hit(EventId.OpenMessageBox, msg)
end
return TravelerDuelRankingUploadCtrl
@@ -0,0 +1,21 @@
local TravelerDuelRankingUploadPanel = class("TravelerDuelRankingUploadPanel", BasePanel)
TravelerDuelRankingUploadPanel._bIsMainPanel = false
TravelerDuelRankingUploadPanel._tbDefine = {
{
sPrefabPath = "TravelerDuelLevelSelect/TDRankingUploadPanel.prefab",
sCtrlName = "Game.UI.TravelerDuelLevelSelect.TravelerDuelRanking.TravelerDuelRankingUploadCtrl"
}
}
function TravelerDuelRankingUploadPanel:Awake()
end
function TravelerDuelRankingUploadPanel:OnEnable()
end
function TravelerDuelRankingUploadPanel:OnAfterEnter()
end
function TravelerDuelRankingUploadPanel:OnDisable()
end
function TravelerDuelRankingUploadPanel:OnDestroy()
end
function TravelerDuelRankingUploadPanel:OnRelease()
end
return TravelerDuelRankingUploadPanel
@@ -0,0 +1,71 @@
local TravelerDuelRankUploadSuccessCtrl = class("TravelerDuelRankUploadSuccessCtrl", BaseCtrl)
TravelerDuelRankUploadSuccessCtrl._mapNodeConfig = {
TMPScoreTitle = {sComponentName = "TMP_Text"},
TMPRankingTitle = {sComponentName = "TMP_Text"},
TMPOldRanking = {sComponentName = "TMP_Text"},
TMPNewRanking = {sComponentName = "TMP_Text"},
TMPOldScore = {sComponentName = "TMP_Text"},
TMPNewScore = {sComponentName = "TMP_Text"},
imgRankIcon = {nCount = 4},
btnMaskClose = {
sComponentName = "Button",
callback = "OnBtnClick_Close"
},
imgArrowRanking = {},
imgArrowScore = {},
TMPFirstRanking = {sComponentName = "TMP_Text"},
TMPFirstScore = {sComponentName = "TMP_Text"},
imgFirstArrowRanking = {},
imgFirstArrowScore = {},
goNormalRanking = {},
goNormalScore = {}
}
TravelerDuelRankUploadSuccessCtrl._mapEventConfig = {}
TravelerDuelRankUploadSuccessCtrl._mapRedDotConfig = {}
function TravelerDuelRankUploadSuccessCtrl:Awake()
end
function TravelerDuelRankUploadSuccessCtrl:FadeIn()
end
function TravelerDuelRankUploadSuccessCtrl:FadeOut()
end
function TravelerDuelRankUploadSuccessCtrl:OnEnable()
local tbParam = self:GetPanelParam()
local nOldScore = tbParam[1]
local nNewScore = tbParam[2]
local nOldRank = tbParam[3]
local nNewRank = tbParam[4]
local nRewardIdx = tbParam[5]
if nOldRank == 0 and nOldScore == 0 then
NovaAPI.SetTMPText(self._mapNode.TMPFirstRanking, nNewRank)
NovaAPI.SetTMPText(self._mapNode.TMPFirstScore, nNewScore)
self._mapNode.imgFirstArrowRanking:SetActive(nOldRank < nNewRank)
self._mapNode.imgFirstArrowScore:SetActive(nOldScore < nNewScore)
self._mapNode.TMPFirstRanking.gameObject:SetActive(true)
self._mapNode.TMPFirstScore.gameObject:SetActive(true)
self._mapNode.goNormalRanking.gameObject:SetActive(false)
self._mapNode.goNormalScore.gameObject:SetActive(false)
self._mapNode.imgArrowScore:SetActive(false)
self._mapNode.imgArrowRanking:SetActive(false)
else
NovaAPI.SetTMPText(self._mapNode.TMPOldRanking, nOldRank)
NovaAPI.SetTMPText(self._mapNode.TMPNewRanking, nNewRank)
NovaAPI.SetTMPText(self._mapNode.TMPOldScore, nOldScore)
NovaAPI.SetTMPText(self._mapNode.TMPNewScore, nNewScore)
self._mapNode.imgArrowScore:SetActive(nOldScore < nNewScore)
self._mapNode.imgArrowRanking:SetActive(nOldRank > nNewRank)
end
for i = 1, 4 do
self._mapNode.imgRankIcon[i]:SetActive(nRewardIdx == i)
end
end
function TravelerDuelRankUploadSuccessCtrl:OnDisable()
end
function TravelerDuelRankUploadSuccessCtrl:OnDestroy()
end
function TravelerDuelRankUploadSuccessCtrl:OnRelease()
end
function TravelerDuelRankUploadSuccessCtrl:OnBtnClick_Close()
EventManager.Hit("TDUploadRankEnd")
EventManager.Hit(EventId.ClosePanel, PanelId.TravelerDuelRankUploadSuccess)
end
return TravelerDuelRankUploadSuccessCtrl
@@ -0,0 +1,21 @@
local TravelerDuelRankUploadSuccessPanel = class("TravelerDuelRankUploadSuccessPanel", BasePanel)
TravelerDuelRankUploadSuccessPanel._bIsMainPanel = false
TravelerDuelRankUploadSuccessPanel._tbDefine = {
{
sPrefabPath = "TravelerDuelLevelSelect/TDUploadSuccessPanel.prefab",
sCtrlName = "Game.UI.TravelerDuelLevelSelect.TravelerDuelRanking.TravelerDuelRankUploadSuccessCtrl"
}
}
function TravelerDuelRankUploadSuccessPanel:Awake()
end
function TravelerDuelRankUploadSuccessPanel:OnEnable()
end
function TravelerDuelRankUploadSuccessPanel:OnAfterEnter()
end
function TravelerDuelRankUploadSuccessPanel:OnDisable()
end
function TravelerDuelRankUploadSuccessPanel:OnDestroy()
end
function TravelerDuelRankUploadSuccessPanel:OnRelease()
end
return TravelerDuelRankUploadSuccessPanel
@@ -0,0 +1,62 @@
local TravelerDuelRewardGridCtrl = class("TravelerDuelRewardGridCtrl", BaseCtrl)
local ConfigData = require("GameCore.Data.ConfigData")
TravelerDuelRewardGridCtrl._mapNodeConfig = {
imgBg1 = {},
imgBg2 = {},
imgRankingIcon = {sComponentName = "Image"},
TMPRanking = {sComponentName = "TMP_Text"},
tcItem = {
sCtrlName = "Game.UI.TemplateEx.TemplateItemCtrl",
nCount = 2
},
btnItem = {sComponentName = "UIButton", nCount = 2}
}
TravelerDuelRewardGridCtrl._mapEventConfig = {}
TravelerDuelRewardGridCtrl._mapRedDotConfig = {}
function TravelerDuelRewardGridCtrl:Awake()
end
function TravelerDuelRewardGridCtrl:FadeIn()
end
function TravelerDuelRewardGridCtrl:FadeOut()
end
function TravelerDuelRewardGridCtrl:OnEnable()
end
function TravelerDuelRewardGridCtrl:OnDisable()
end
function TravelerDuelRewardGridCtrl:OnDestroy()
end
function TravelerDuelRewardGridCtrl:OnRelease()
end
function TravelerDuelRewardGridCtrl:Refresh(nIdx, bSelfIdx)
self._mapNode.imgBg1:SetActive(bSelfIdx == nIdx)
self._mapNode.imgBg2:SetActive(bSelfIdx ~= nIdx)
local mapRewardCfgData = ConfigTable.GetData("TravelerDuelChallengeRankReward", nIdx)
if mapRewardCfgData == nil then
return
end
self:SetAtlasSprite(self._mapNode.imgRankingIcon, "12_rare", "travelerduel_rank_" .. nIdx)
local nRankingHigher = mapRewardCfgData.RankUpper * ConfigData.IntFloatPrecision
local nRankLower = 1
if ConfigTable.GetData("TravelerDuelChallengeRankReward", nIdx + 1) ~= nil then
nRankLower = ConfigTable.GetData("TravelerDuelChallengeRankReward", nIdx + 1).RankLower * ConfigData.IntFloatPrecision
end
if nIdx == 4 then
NovaAPI.SetTMPText(self._mapNode.TMPRanking, orderedFormat(ConfigTable.GetUIText("TravelerDuel_RankRewardTitle2"), nRankingHigher))
else
NovaAPI.SetTMPText(self._mapNode.TMPRanking, orderedFormat(ConfigTable.GetUIText("TravelerDuel_RankRewardTitle3"), nRankingHigher, nRankLower))
end
self._mapNode.tcItem[1]:SetItem(mapRewardCfgData.AwardItemTid1, nil, mapRewardCfgData.AwardItemNum1, nil, false, false, false, true, false, false)
self._mapNode.tcItem[2]:SetItem(mapRewardCfgData.AwardItemTid2, nil, mapRewardCfgData.AwardItemNum2, nil, false, false, false, true, false, false)
self._mapNode.btnItem[1].onClick:RemoveAllListeners()
self._mapNode.btnItem[2].onClick:RemoveAllListeners()
self._mapNode.btnItem[1].onClick:AddListener(function()
self:OnBtn_ClickItem(self._mapNode.btnItem[1], mapRewardCfgData.AwardItemTid1)
end)
self._mapNode.btnItem[2].onClick:AddListener(function()
self:OnBtn_ClickItem(self._mapNode.btnItem[2], mapRewardCfgData.AwardItemTid2)
end)
end
function TravelerDuelRewardGridCtrl:OnBtn_ClickItem(btn, itemId)
UTILS.ClickItemGridWithTips(itemId, btn.transform, true, true, false)
end
return TravelerDuelRewardGridCtrl