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
This commit is contained in:
SL1900
2026-07-21 12:30:00 +09:00
parent a12087abad
commit 8c4bd41668
1334 changed files with 873026 additions and 95164 deletions
@@ -0,0 +1,129 @@
local SoldierPolicyItemCtrl = class("SoldierPolicyItemCtrl", BaseCtrl)
SoldierPolicyItemCtrl._mapNodeConfig = {
imgIconBg = {sComponentName = "Image"},
imgIcon = {sComponentName = "Image"},
txtName = {sComponentName = "TMP_Text"},
txtDesc = {sComponentName = "TMP_Text"},
RewardRoot = {},
goChar = {
sNodeName = "tc_char_small"
},
goItem = {
sNodeName = "tc_item_small"
},
goRewardContent = {sComponentName = "Transform"},
txtCharTitle = {
sComponentName = "TMP_Text",
sLanguageId = "Soldier_Select_PolicyItem_Effect_Title"
},
btnConfirm = {
sComponentName = "UIButton",
callback = "OnBtnClick_Confirm"
},
txtBtnConfirm = {
sComponentName = "TMP_Text",
sLanguageId = "DailyInstance_Reward_Select"
},
AnimRootMain = {sComponentName = "Animator"}
}
SoldierPolicyItemCtrl._mapEventConfig = {}
SoldierPolicyItemCtrl._mapRedDotConfig = {}
local CHAR_CTRL = "Game.UI.Soldier.Template.Character.SoldierCharItemCtrl"
local iconPath = "Icon/SoldierBuffCard/"
function SoldierPolicyItemCtrl:Awake()
self._mapNode.goChar.gameObject:SetActive(false)
self._mapNode.goItem.gameObject:SetActive(false)
self.tbCharItemsCtrl = {}
self.nCardId = -1
self.nIndex = 0
self._bSelected = false
end
function SoldierPolicyItemCtrl:OnDisable()
self:_ClearCharItems()
if self.timerBtnConfirm ~= nil then
self.timerBtnConfirm:Cancel()
self.timerBtnConfirm = nil
end
end
function SoldierPolicyItemCtrl:OnEnable()
end
function SoldierPolicyItemCtrl:OnDestroy()
end
function SoldierPolicyItemCtrl:SetItemData(cardId, index)
self.nCardId = cardId
self.nIndex = index or 0
local mapCfg = ConfigTable.GetData("SoldierStarterCard", cardId)
if not mapCfg then
return
end
self:SetPngSprite(self._mapNode.imgIcon, iconPath .. mapCfg.Icon)
NovaAPI.SetTMPText(self._mapNode.txtName, mapCfg.Name)
NovaAPI.SetTMPText(self._mapNode.txtDesc, mapCfg.Des)
local hasReward = mapCfg.CharacterShow and 0 < #mapCfg.CharacterShow
self._mapNode.RewardRoot:SetActive(hasReward)
if hasReward then
self:_RefreshCharItems(mapCfg.CharacterShow)
end
self:SetSelected(false)
self._mapNode.btnConfirm.gameObject:SetActive(false)
end
function SoldierPolicyItemCtrl:SetButtonCallback(fn)
self._btnConfirmCallback = fn
end
function SoldierPolicyItemCtrl:_RefreshCharItems(tbCharIds)
for k, charId in ipairs(tbCharIds) do
local itemCtrl = self.tbCharItemsCtrl[k]
if itemCtrl == nil then
local go = instantiate(self._mapNode.goChar, self._mapNode.goRewardContent)
itemCtrl = self:BindCtrlByNode(go, CHAR_CTRL)
itemCtrl:SetCharLevel(1)
table.insert(self.tbCharItemsCtrl, itemCtrl)
end
itemCtrl:SetCharItemBtnFunc(function()
local chessData = {nId = charId, nStar = 1}
EventManager.Hit(EventId.OpenPanel, PanelId.SoldierCharCardTips, self.charTipsRoot, chessData)
end)
itemCtrl.gameObject:SetActive(true)
itemCtrl:SetItemData(charId)
end
end
function SoldierPolicyItemCtrl:_ClearCharItems()
for _, ctrl in ipairs(self.tbCharItemsCtrl) do
local obj = ctrl.gameObject
self:UnbindCtrlByNode(ctrl)
destroy(obj)
end
self.tbCharItemsCtrl = {}
end
function SoldierPolicyItemCtrl:SetSelected(bSelected)
if self.timerBtnConfirm ~= nil then
self.timerBtnConfirm:Cancel()
self.timerBtnConfirm = nil
end
local sSwitchAnimName = ""
if bSelected == true then
self._mapNode.btnConfirm.gameObject:SetActive(bSelected)
sSwitchAnimName = "PolicyItem_up"
elseif self._bSelected == true then
sSwitchAnimName = "PolicyItem_down"
local nAnimLength = NovaAPI.GetAnimClipLength(self._mapNode.AnimRootMain, sSwitchAnimName)
self.timerBtnConfirm = self:AddTimer(1, nAnimLength, function()
self._mapNode.btnConfirm.gameObject:SetActive(false)
end, true, true, true)
elseif self._bSelected == false then
self._mapNode.btnConfirm.gameObject:SetActive(false)
end
if sSwitchAnimName ~= "" then
self._mapNode.AnimRootMain:Play(sSwitchAnimName)
end
self._bSelected = bSelected == true
end
function SoldierPolicyItemCtrl:SetCharTipsRoot(tr)
self.charTipsRoot = tr
end
function SoldierPolicyItemCtrl:OnBtnClick_Confirm()
if self._btnConfirmCallback then
self._btnConfirmCallback()
end
end
return SoldierPolicyItemCtrl
@@ -0,0 +1,123 @@
local SoldierSelectPolicyCtrl = class("SoldierSelectPolicyCtrl", BaseCtrl)
SoldierSelectPolicyCtrl._mapNodeConfig = {
trBg = {sNodeName = "----BG----"},
imgBgMain_Fx = {},
trRoot = {
sNodeName = "----SafeAreaRoot----"
},
goPolicyItem = {
nCount = 3,
sCtrlName = "Game.UI.Soldier.SelectPolicy.SoldierPolicyItemCtrl"
},
btnPolicyItem = {
nCount = 3,
sNodeName = "goPolicyItem",
sComponentName = "UIButton",
callback = "OnBtnClick_PolicyItem"
},
btnRecommend = {
sComponentName = "UIButton",
callback = "OnBtnClick_Recommend"
},
btnRefreshBuff = {
sComponentName = "UIButton",
callback = "OnBtnClick_RefreshBuff"
},
imgBtnMask = {},
txtTitle = {
sComponentName = "TMP_Text",
sLanguageId = "Soldier_Select_Policy_Title"
},
txtReRollCount = {sComponentName = "TMP_Text"},
trCharDetail = {sComponentName = "Transform"}
}
SoldierSelectPolicyCtrl._mapEventConfig = {
SoldierRecommendPanel_Close = "OnEvent_SoldierRecommendPanelClose",
SoldierRecommendPanel_Open = "OnEvent_SoldierRecommendPanelOpen"
}
SoldierSelectPolicyCtrl._mapRedDotConfig = {}
function SoldierSelectPolicyCtrl:Awake()
self.levelData = PlayerData.SoldierData:GetCurLevelData()
self.tbCardList = {}
self.nReRollCount = 0
self.nSelectCardId = -1
self.nSelectIndex = 0
end
function SoldierSelectPolicyCtrl:OnEnable()
self:RefreshContent()
end
function SoldierSelectPolicyCtrl:OnDisable()
end
function SoldierSelectPolicyCtrl:OnDestroy()
end
function SoldierSelectPolicyCtrl:ClosePanel()
EventManager.Hit(EventId.ClosePanel, PanelId.SoldierSelectPolicy)
end
function SoldierSelectPolicyCtrl:RefreshContent()
self.nSelectCardId = -1
self.nSelectIndex = 0
if self.levelData == nil then
return
end
self.tbCardList, self.nReRollCount = self.levelData:GetSelectCardData()
for k, v in ipairs(self._mapNode.goPolicyItem) do
v.gameObject:SetActive(self.tbCardList[k] ~= nil)
if self.tbCardList[k] ~= nil then
v:SetItemData(self.tbCardList[k], k)
v:SetButtonCallback(function()
self:OnBtnClick_Confirm(k)
end)
end
end
local sRemain = orderedFormat(ConfigTable.GetUIText("Soldier_Policy_ReRoll_Count"), self.nReRollCount)
NovaAPI.SetTMPText(self._mapNode.txtReRollCount, sRemain)
self._mapNode.imgBtnMask.gameObject:SetActive(0 >= self.nReRollCount)
for k, v in ipairs(self._mapNode.goPolicyItem) do
v:SetCharTipsRoot(self._mapNode.trCharDetail)
end
end
function SoldierSelectPolicyCtrl:HidePanel()
self._mapNode.trBg.gameObject:SetActive(false)
self._mapNode.imgBgMain_Fx.gameObject:SetActive(false)
self._mapNode.trRoot.gameObject:SetActive(false)
end
function SoldierSelectPolicyCtrl:ShowPanel()
self._mapNode.trBg.gameObject:SetActive(true)
self._mapNode.imgBgMain_Fx.gameObject:SetActive(true)
self._mapNode.trRoot.gameObject:SetActive(true)
for k, v in ipairs(self._mapNode.goPolicyItem) do
v:SetSelected(k == self.nSelectIndex)
end
end
function SoldierSelectPolicyCtrl:OnBtnClick_PolicyItem(btn, nIndex)
for k, v in ipairs(self._mapNode.goPolicyItem) do
v:SetSelected(k == nIndex)
end
self.nSelectCardId = self.tbCardList[nIndex]
self.nSelectIndex = nIndex
end
function SoldierSelectPolicyCtrl:OnBtnClick_RefreshBuff()
if self.nReRollCount <= 0 then
return
end
local callback = function()
self:RefreshContent()
end
self.levelData:SendCardSelectReRoll(callback)
end
function SoldierSelectPolicyCtrl:OnBtnClick_Confirm(k)
local callback = function()
self:ClosePanel()
end
self.levelData:SendCardSelect(k, callback)
end
function SoldierSelectPolicyCtrl:OnBtnClick_Recommend()
EventManager.Hit(EventId.OpenPanel, PanelId.SoldierRecommendPanel, true)
end
function SoldierSelectPolicyCtrl:OnEvent_SoldierRecommendPanelClose()
self:ShowPanel()
end
function SoldierSelectPolicyCtrl:OnEvent_SoldierRecommendPanelOpen()
self:HidePanel()
end
return SoldierSelectPolicyCtrl
@@ -0,0 +1,21 @@
local SoldierSelectPolicyPanel = class("SoldierSelectPolicyPanel", BasePanel)
SoldierSelectPolicyPanel._bIsMainPanel = false
SoldierSelectPolicyPanel._tbDefine = {
{
sPrefabPath = "Soldier/Level/SoldierSelectPolicyPanel.prefab",
sCtrlName = "Game.UI.Soldier.SelectPolicy.SoldierSelectPolicyCtrl"
}
}
function SoldierSelectPolicyPanel:Awake()
end
function SoldierSelectPolicyPanel:OnEnable()
end
function SoldierSelectPolicyPanel:OnAfterEnter()
end
function SoldierSelectPolicyPanel:OnDisable()
end
function SoldierSelectPolicyPanel:OnDestroy()
end
function SoldierSelectPolicyPanel:OnRelease()
end
return SoldierSelectPolicyPanel