Files
StellaSora_DataLua/lua/game/ui/soldier/handbook/soldierhandbookselectctrl.lua
SL1900 08b515afd9 Major Update - 2.0.0.143
EN: 2.0.0.143
CN: 2.0.0.142
JP: 2.0.0.145
KR: 2.0.0.150
2026-10-20 13:00:00 +09:00

114 lines
3.8 KiB
Lua

local SoldierHandbookSelectCtrl = class("SoldierHandbookSelectCtrl", BaseCtrl)
SoldierHandbookSelectCtrl._mapNodeConfig = {
TopBar = {
sNodeName = "TopBarPanel",
sCtrlName = "Game.UI.TopBarEx.TopBarCtrl"
},
btn_Boss = {
sComponentName = "UIButton",
callback = "OnBtnClick_Boss"
},
txt_Boss = {
sComponentName = "TMP_Text",
sLanguageId = "Soldier_Handbook_Boss"
},
txt_BossCount = {sComponentName = "TMP_Text"},
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_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:RefreshBossCount()
self:RefreshCharCount()
self:RefreshPartnerCount()
self:RefreshStrategyCardCount()
end
function SoldierHandbookSelectCtrl:RefreshEndCount()
local nCount = 0
local func_ForEach_End = function(mapEndData)
nCount = nCount + 1
end
ForEachTableLine(DataTable.SoldierEndingPlan, func_ForEach_End)
NovaAPI.SetTMPText(self._mapNode.txt_EndCount, nCount)
end
function SoldierHandbookSelectCtrl:RefreshBossCount()
local nCount = 0
local func_ForEach_Boss = function(mapBossData)
nCount = nCount + 1
end
ForEachTableLine(DataTable.SoldierBossTemplate, func_ForEach_Boss)
NovaAPI.SetTMPText(self._mapNode.txt_BossCount, nCount)
end
function SoldierHandbookSelectCtrl:RefreshCharCount()
local nCount = 0
local nSeasonId = PlayerData.SoldierData:GetCurSelectSeasonId()
local seasonConfig = ConfigTable.GetData("SoldierSeason", nSeasonId)
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: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_Boss()
EventManager.Hit(EventId.OpenPanel, PanelId.SoldierHandbookPanel, AllEnum.SoldierHandbookType.Boss)
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_StrategyCard()
EventManager.Hit(EventId.OpenPanel, PanelId.SoldierHandbookPanel, AllEnum.SoldierHandbookType.StrategyCard)
end
return SoldierHandbookSelectCtrl