Files
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

62 lines
1.9 KiB
Lua

local BaseCtrl = require("GameCore.UI.BaseCtrl")
local SoldierBuffCtrl = class("SoldierBuffCtrl", BaseCtrl)
SoldierBuffCtrl._mapNodeConfig = {
goBuffItem = {
nCount = 4,
sCtrlName = "Game.UI.Soldier.Sandtable.Items.SoldierBuffItemCtrl"
},
goBuffMore = {},
btnBuff = {
sNodeName = "goBuffRoot",
sComponentName = "UIButton",
callback = "OnBtnClick_Buff"
},
goBuffRoot = {
sComponentName = "RectTransform"
}
}
SoldierBuffCtrl._mapEventConfig = {}
SoldierBuffCtrl._mapRedDotConfig = {}
function SoldierBuffCtrl:Awake()
end
function SoldierBuffCtrl:OnEnable()
end
function SoldierBuffCtrl:OnDisable()
end
function SoldierBuffCtrl:OnDestroy()
end
function SoldierBuffCtrl:RefreshBuff()
self._tbStrategyCardIds = {}
self.tbBuffCfgs = {}
local levelData = PlayerData.SoldierData:GetCurLevelData()
local tbStrategyCard = levelData:GetCardData()
if tbStrategyCard == nil or #tbStrategyCard == 0 then
self._mapNode.goBuffRoot.gameObject:SetActive(false)
return
end
self._mapNode.goBuffRoot.gameObject:SetActive(true)
self._tbStrategyCardIds = tbStrategyCard
for k, v in ipairs(self._tbStrategyCardIds) do
local cfg = ConfigTable.GetData("SoldierStrategyCard", v.nId)
table.insert(self.tbBuffCfgs, cfg)
end
self:_RefreshBuffItems()
end
function SoldierBuffCtrl:_RefreshBuffItems()
for k, v in ipairs(self._mapNode.goBuffItem) do
v.gameObject:SetActive(true)
if self._tbStrategyCardIds[k] ~= nil then
local cfg = ConfigTable.GetData("SoldierStrategyCard", self._tbStrategyCardIds[k].nId)
v:SetData(cfg)
else
v:SetEmpty()
end
end
self._mapNode.goBuffMore.gameObject:SetActive(#self._tbStrategyCardIds > #self._mapNode.goBuffItem)
CS.UnityEngine.UI.LayoutRebuilder.ForceRebuildLayoutImmediate(self._mapNode.goBuffRoot)
end
function SoldierBuffCtrl:OnBtnClick_Buff()
EventManager.Hit(EventId.OpenPanel, PanelId.SoldierBuffTipsPanel, self.tbBuffCfgs)
end
return SoldierBuffCtrl