Files
StellaSora_DataLua/lua/game/ui/potentialpreselection/potentialpreselectioncharitemctrl.lua
SL1900 e0549005e1 Update - 1.9.0.103
EN: 1.9.0.103
CN: 1.9.0.104
JP: 1.9.0.106
KR: 1.9.0.108
2026-04-18 00:15:00 +09:00

81 lines
2.7 KiB
Lua

local PotentialPreselectionCharItemCtrl = class("PotentialPreselectionCharItemCtrl", BaseCtrl)
PotentialPreselectionCharItemCtrl._mapNodeConfig = {
imgLockMask = {},
txtCharLock = {
sComponentName = "TMP_Text",
sLanguageId = "Potential_Preselection_Char_Lock"
},
imgSelect = {},
goChar = {
sCtrlName = "Game.UI.TemplateEx.TemplateCharCtrl"
},
btnGrid = {sComponentName = "UIButton"},
t_team_leader = {},
t_team_sub = {},
txtLeader = {
sComponentName = "TMP_Text",
sLanguageId = "Build_Leader"
},
txtSub = {sComponentName = "TMP_Text", sLanguageId = "Build_Sub"},
TMPSelectTitle = {
sComponentName = "TMP_Text",
sLanguageId = "RoguelikeBuild_Manage_SelectedTitle"
},
btnDetail = {
sComponentName = "UIButton",
callback = "OnBtnClick_Detail"
}
}
PotentialPreselectionCharItemCtrl._mapEventConfig = {}
function PotentialPreselectionCharItemCtrl:Awake()
end
function PotentialPreselectionCharItemCtrl:OnEnable()
end
function PotentialPreselectionCharItemCtrl:OnDisable()
end
function PotentialPreselectionCharItemCtrl:OnDestroy()
end
function PotentialPreselectionCharItemCtrl:RefreshItem(nSelectIdx, nCharId, nSortType)
self.nCharId = nCharId
local mapCharData = PlayerData.Char:GetCharDataByTid(nCharId)
self.bUnlock = mapCharData ~= nil
self._mapNode.goChar:SetChar(nCharId, false, not self.bUnlock, nil, nSortType)
self._mapNode.goChar:SetSelect(0 < nSelectIdx)
self._mapNode.imgSelect:SetActive(0 < nSelectIdx)
if 0 < nSelectIdx then
self._mapNode.t_team_leader:SetActive(nSelectIdx == 1)
self._mapNode.t_team_sub:SetActive(nSelectIdx ~= 1)
else
self._mapNode.t_team_leader:SetActive(false)
self._mapNode.t_team_sub:SetActive(false)
end
self._mapNode.imgLockMask.gameObject:SetActive(false)
self._mapNode.txtCharLock.gameObject:SetActive(not self.bUnlock)
end
function PotentialPreselectionCharItemCtrl:SetSelect(bSelect, nIdx)
self._mapNode.imgSelect:SetActive(bSelect)
self._mapNode.goChar:SetSelect(bSelect)
if nIdx ~= nil then
self._mapNode.t_team_leader:SetActive(nIdx == 1)
self._mapNode.t_team_sub:SetActive(nIdx ~= 1)
else
self._mapNode.t_team_leader:SetActive(false)
self._mapNode.t_team_sub:SetActive(false)
end
end
function PotentialPreselectionCharItemCtrl:OnBtnClick_Mask(btn)
EventManager.Hit(EventId.OpenMessageBox, ConfigTable.GetUIText("Potential_Preselection_Char_Selected"))
end
function PotentialPreselectionCharItemCtrl:OnBtnClick_Detail(btn)
if self.nCharId ~= nil then
if self.bUnlock then
EventManager.Hit(EventId.OpenPanel, PanelId.CharBgPanel, PanelId.CharInfo, self.nCharId, {
self.nCharId
}, false)
else
EventManager.Hit(EventId.OpenPanel, PanelId.CharBgTrialPanel, PanelId.CharInfoTrial, self.nCharId)
end
end
end
return PotentialPreselectionCharItemCtrl