Files
StellaSora_DataLua/lua/game/ui/soldier/handbook/soldierhandbookselectctrl.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

110 lines
3.7 KiB
Lua

local SoldierHandbookSelectCtrl = class("SoldierHandbookSelectCtrl", BaseCtrl)
SoldierHandbookSelectCtrl._mapNodeConfig = {
TopBar = {
sNodeName = "TopBarPanel",
sCtrlName = "Game.UI.TopBarEx.TopBarCtrl"
},
btn_Char = {
sComponentName = "UIButton",
callback = "OnBtnClick_Character"
},
txt_Char = {
sComponentName = "TMP_Text",
sLanguageId = "Soldier_Handbook_Character"
},
txt_CharCount = {sComponentName = "TMP_Text"},
btn_Partner = {
sComponentName = "UIButton",
callback = "OnBtnClick_Partner"
},
txt_Partner = {
sComponentName = "TMP_Text",
sLanguageId = "Soldier_Handbook_Partner"
},
txt_PartnerCount = {sComponentName = "TMP_Text"},
btn_StarterCard = {
sComponentName = "UIButton",
callback = "OnBtnClick_StarterCard"
},
txt_StarterCard = {
sComponentName = "TMP_Text",
sLanguageId = "Soldier_Handbook_StarterCard"
},
txt_StarterCardCount = {sComponentName = "TMP_Text"},
btn_StrategyCard = {
sComponentName = "UIButton",
callback = "OnBtnClick_StrategyCard"
},
txt_StrategyCard = {
sComponentName = "TMP_Text",
sLanguageId = "Soldier_Handbook_StrategyCard"
},
txt_StrategyCardCount = {sComponentName = "TMP_Text"}
}
SoldierHandbookSelectCtrl._mapEventConfig = {}
SoldierHandbookSelectCtrl._mapRedDotConfig = {}
function SoldierHandbookSelectCtrl:Awake()
end
function SoldierHandbookSelectCtrl:OnEnable()
self:RefreshCharCount()
self:RefreshPartnerCount()
self:RefreshStarterCardCount()
self:RefreshStrategyCardCount()
end
function SoldierHandbookSelectCtrl:RefreshCharCount()
local nCount = 0
local actData = PlayerData.Activity:GetActivityDataByType(GameEnum.activityType.Soldier)
if actData == nil then
return
end
local nActId = actData:GetActId()
local seasonConfig = ConfigTable.GetData("SoldierSeason", nActId)
if seasonConfig == nil then
return
end
local func_ForEach_Char = function(mapCharData)
if mapCharData.BoardChess and seasonConfig.ChessGroupId == mapCharData.GroupId then
nCount = nCount + 1
end
end
ForEachTableLine(DataTable.SoldierCharacter, func_ForEach_Char)
NovaAPI.SetTMPText(self._mapNode.txt_CharCount, nCount)
end
function SoldierHandbookSelectCtrl:RefreshPartnerCount()
local nCount = 0
local func_ForEach_Partner = function(mapPartnerData)
nCount = nCount + 1
end
ForEachTableLine(DataTable.SoldierPartnerGroup, func_ForEach_Partner)
NovaAPI.SetTMPText(self._mapNode.txt_PartnerCount, nCount)
end
function SoldierHandbookSelectCtrl:RefreshStarterCardCount()
local nCount = 0
local func_ForEach_StarterCard = function(mapStarterCardData)
nCount = nCount + 1
end
ForEachTableLine(DataTable.SoldierStarterCard, func_ForEach_StarterCard)
NovaAPI.SetTMPText(self._mapNode.txt_StarterCardCount, nCount)
end
function SoldierHandbookSelectCtrl:RefreshStrategyCardCount()
local nCount = 0
local func_ForEach_StrategyCard = function(mapStrategyCardData)
nCount = nCount + 1
end
ForEachTableLine(DataTable.SoldierStrategyCard, func_ForEach_StrategyCard)
NovaAPI.SetTMPText(self._mapNode.txt_StrategyCardCount, nCount)
end
function SoldierHandbookSelectCtrl:OnBtnClick_Character()
EventManager.Hit(EventId.OpenPanel, PanelId.SoldierHandbookPanel, AllEnum.SoldierHandbookType.Character)
end
function SoldierHandbookSelectCtrl:OnBtnClick_Partner()
EventManager.Hit(EventId.OpenPanel, PanelId.SoldierHandbookPanel, AllEnum.SoldierHandbookType.Partner)
end
function SoldierHandbookSelectCtrl:OnBtnClick_StarterCard()
EventManager.Hit(EventId.OpenPanel, PanelId.SoldierHandbookPanel, AllEnum.SoldierHandbookType.StarterCard)
end
function SoldierHandbookSelectCtrl:OnBtnClick_StrategyCard()
EventManager.Hit(EventId.OpenPanel, PanelId.SoldierHandbookPanel, AllEnum.SoldierHandbookType.StrategyCard)
end
return SoldierHandbookSelectCtrl